grammar Owl2fs;

options {
	superClass = Owl2fsANTLRParserBase;
	backtrack = true;
	memoize = true;
}

@lexer::header {
	package west.twouse.language.owl2fs.resource.owl2fs.mopp;
}

@lexer::members {
	public java.util.List<org.antlr.runtime3_2_0.RecognitionException> lexerExceptions  = new java.util.ArrayList<org.antlr.runtime3_2_0.RecognitionException>();
	public java.util.List<java.lang.Integer> lexerExceptionsPosition = new java.util.ArrayList<java.lang.Integer>();
	
	public void reportError(org.antlr.runtime3_2_0.RecognitionException e) {
		lexerExceptions.add(e);
		lexerExceptionsPosition.add(((org.antlr.runtime3_2_0.ANTLRStringStream) input).index());
	}
}
@header{
	package west.twouse.language.owl2fs.resource.owl2fs.mopp;
}

@members{
	private west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolverFactory tokenResolverFactory = new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTokenResolverFactory();
	
	/**
	 * the index of the last token that was handled by collectHiddenTokens()
	 */
	@SuppressWarnings("unused")
	private int lastPosition;
	
	/**
	 * the index of the last token that was handled by retrieveLayoutInformation()
	 */
	private int lastPosition2;
	
	private west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTokenResolveResult tokenResolveResult = new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTokenResolveResult();
	
	/**
	 * A flag that indicateds whether the parser should remember all expected
	 * elements. This flag is set to true when using the parse for code completion.
	 * Otherwise it is set to false.
	 */
	private boolean rememberExpectedElements = false;
	
	private java.lang.Object parseToIndexTypeObject;
	private int lastTokenIndex = 0;
	
	/**
	 * A list of expected elements the were collected while parsing the input stream.
	 * This list is only filled if <code>rememberExpectedElements</code> is set to
	 * true.
	 */
	private java.util.List<west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal> expectedElements = new java.util.ArrayList<west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal>();
	
	private int mismatchedTokenRecoveryTries = 0;
	private java.util.Map<?, ?> options;
	/**
	 * A helper list to allow a lexer to pass errors to its parser
	 */
	protected java.util.List<org.antlr.runtime3_2_0.RecognitionException> lexerExceptions = java.util.Collections.synchronizedList(new java.util.ArrayList<org.antlr.runtime3_2_0.RecognitionException>());
	
	/**
	 * Another helper list to allow a lexer to pass positions of errors to its parser
	 */
	protected java.util.List<java.lang.Integer> lexerExceptionsPosition = java.util.Collections.synchronizedList(new java.util.ArrayList<java.lang.Integer>());
	
	/**
	 * A stack for incomplete objects. This stack is used only when the parser is used
	 * for code completion. Whenever the parser starts to read an object it is pushed
	 * on the stack. Once the element was parser completely it is popped for the stack.
	 */
	protected java.util.Stack<org.eclipse.emf.ecore.EObject> incompleteObjects = new java.util.Stack<org.eclipse.emf.ecore.EObject>();
	
	private int stopIncludingHiddenTokens;
	private int stopExcludingHiddenTokens;
	/**
	 * A collection that is filled with commands to be exectued after parsing. This
	 * collection is cleared before parsing starts and returned as part of the parse
	 * result object.
	 */
	private java.util.Collection<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsCommand<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource>> postParseCommands;
	
	/**
	 * A flag to indicate that the parser should stop parsing as soon as possible. The
	 * flag is set to false before parsing starts. It can be set to true by invoking
	 * the terminateParsing() method from another thread. This feature is used, when
	 * documents are parsed in the background (i.e., while editing them). In order to
	 * cancel running parsers, the parsing process can be terminated. This is done
	 * whenever a document changes, because the previous content of the document is
	 * not valid anymore and parsing the old content is not necessary any longer.
	 */
	private boolean terminateParsing;
	
	private int tokenIndexOfLastCompleteElement;
	
	private int expectedElementsIndexOfLastCompleteElement;
	
	/**
	 * a collection to store all anonymous tokens
	 */
	private java.util.List<org.antlr.runtime3_2_0.CommonToken> anonymousTokens = new java.util.ArrayList<org.antlr.runtime3_2_0.CommonToken>();
	
	protected void addErrorToResource(final java.lang.String errorMessage, final int line, final int charPositionInLine, final int startIndex, final int stopIndex) {
		postParseCommands.add(new west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsCommand<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource>() {
			public boolean execute(west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource resource) {
				if (resource == null) {
					// the resource can be null if the parser is used for code completion
					return true;
				}
				resource.addProblem(new west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsProblem() {
					public west.twouse.language.owl2fs.resource.owl2fs.Owl2fsEProblemType getType() {
						return west.twouse.language.owl2fs.resource.owl2fs.Owl2fsEProblemType.ERROR;
					}
					public java.lang.String getMessage() {
						return errorMessage;
					}
				}, line, charPositionInLine, startIndex, stopIndex);
				return true;
			}
		});
	}
	
	public void addExpectedElement(west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal expectedElement) {
		if (!this.rememberExpectedElements) {
			return;
		}
		setPosition(expectedElement, input.index());
		this.expectedElements.add(expectedElement);
	}
	
	protected void addMapEntry(org.eclipse.emf.ecore.EObject element, org.eclipse.emf.ecore.EStructuralFeature structuralFeature, west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsDummyEObject dummy) {
		java.lang.Object value = element.eGet(structuralFeature);
		java.lang.Object mapKey = dummy.getValueByName("key");
		java.lang.Object mapValue = dummy.getValueByName("value");
		if (value instanceof org.eclipse.emf.common.util.EMap<?, ?>) {
			org.eclipse.emf.common.util.EMap<java.lang.Object, java.lang.Object> valueMap = west.twouse.language.owl2fs.resource.owl2fs.util.Owl2fsMapUtil.castToEMap(value);
			if (mapKey != null && mapValue != null) {
				valueMap.put(mapKey, mapValue);
			}
		}
	}
	
	@SuppressWarnings("unchecked")
	
	public boolean addObjectToList(org.eclipse.emf.ecore.EObject element, int featureID, java.lang.Object proxy) {
		return ((java.util.List<java.lang.Object>) element.eGet(element.eClass().getEStructuralFeature(featureID))).add(proxy);
	}
	
	protected org.eclipse.emf.ecore.EObject apply(org.eclipse.emf.ecore.EObject target, java.util.List<org.eclipse.emf.ecore.EObject> dummyEObjects) {
		org.eclipse.emf.ecore.EObject currentTarget = target;
		for (org.eclipse.emf.ecore.EObject object : dummyEObjects) {
			assert(object instanceof west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsDummyEObject);
			west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsDummyEObject dummy = (west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsDummyEObject) object;
			org.eclipse.emf.ecore.EObject newEObject = dummy.applyTo(currentTarget);
			currentTarget = newEObject;
		}
		return currentTarget;
	}
	
	protected void collectHiddenTokens(org.eclipse.emf.ecore.EObject element) {
	}
	
	protected void copyLocalizationInfos(final org.eclipse.emf.ecore.EObject source, final org.eclipse.emf.ecore.EObject target) {
		postParseCommands.add(new west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsCommand<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource>() {
			public boolean execute(west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource resource) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsLocationMap locationMap = resource.getLocationMap();
				if (locationMap == null) {
					// the locationMap can be null if the parser is used for code completion
					return true;
				}
				locationMap.setCharStart(target, locationMap.getCharStart(source));
				locationMap.setCharEnd(target, locationMap.getCharEnd(source));
				locationMap.setColumn(target, locationMap.getColumn(source));
				locationMap.setLine(target, locationMap.getLine(source));
				return true;
			}
		});
	}
	
	protected void copyLocalizationInfos(final org.antlr.runtime3_2_0.CommonToken source, final org.eclipse.emf.ecore.EObject target) {
		postParseCommands.add(new west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsCommand<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource>() {
			public boolean execute(west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource resource) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsLocationMap locationMap = resource.getLocationMap();
				if (locationMap == null) {
					// the locationMap can be null if the parser is used for code completion
					return true;
				}
				if (source == null) {
					return true;
				}
				locationMap.setCharStart(target, source.getStartIndex());
				locationMap.setCharEnd(target, source.getStopIndex());
				locationMap.setColumn(target, source.getCharPositionInLine());
				locationMap.setLine(target, source.getLine());
				return true;
			}
		});
	}
	
	/**
	 * Sets the end character index and the last line for the given object in the
	 * location map.
	 */
	protected void setLocalizationEnd(java.util.Collection<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsCommand<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource>> postParseCommands , final org.eclipse.emf.ecore.EObject object, final int endChar, final int endLine) {
		postParseCommands.add(new west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsCommand<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource>() {
			public boolean execute(west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource resource) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsLocationMap locationMap = resource.getLocationMap();
				if (locationMap == null) {
					// the locationMap can be null if the parser is used for code completion
					return true;
				}
				locationMap.setCharEnd(object, endChar);
				locationMap.setLine(object, endLine);
				return true;
			}
		});
	}
	
	public west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextParser createInstance(java.io.InputStream actualInputStream, java.lang.String encoding) {
		try {
			if (encoding == null) {
				return new Owl2fsParser(new org.antlr.runtime3_2_0.CommonTokenStream(new Owl2fsLexer(new org.antlr.runtime3_2_0.ANTLRInputStream(actualInputStream))));
			} else {
				return new Owl2fsParser(new org.antlr.runtime3_2_0.CommonTokenStream(new Owl2fsLexer(new org.antlr.runtime3_2_0.ANTLRInputStream(actualInputStream, encoding))));
			}
		} catch (java.io.IOException e) {
			west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsPlugin.logError("Error while creating parser.", e);
			return null;
		}
	}
	
	/**
	 * This default constructor is only used to call createInstance() on it.
	 */
	public Owl2fsParser() {
		super(null);
	}
	
	protected org.eclipse.emf.ecore.EObject doParse() throws org.antlr.runtime3_2_0.RecognitionException {
		this.lastPosition = 0;
		// required because the lexer class can not be subclassed
		((Owl2fsLexer) getTokenStream().getTokenSource()).lexerExceptions = lexerExceptions;
		((Owl2fsLexer) getTokenStream().getTokenSource()).lexerExceptionsPosition = lexerExceptionsPosition;
		java.lang.Object typeObject = getTypeObject();
		if (typeObject == null) {
			return start();
		} else if (typeObject instanceof org.eclipse.emf.ecore.EClass) {
			org.eclipse.emf.ecore.EClass type = (org.eclipse.emf.ecore.EClass) typeObject;
			if (type.getInstanceClass() == west.twouse.language.owl2fs.FullIRI.class) {
				return parse_west_twouse_language_owl2fs_FullIRI();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.AbbreviatedIRI.class) {
				return parse_west_twouse_language_owl2fs_AbbreviatedIRI();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.OntologyDocument.class) {
				return parse_west_twouse_language_owl2fs_OntologyDocument();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.PrefixDefinition.class) {
				return parse_west_twouse_language_owl2fs_PrefixDefinition();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.Ontology.class) {
				return parse_west_twouse_language_owl2fs_Ontology();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.Comment.class) {
				return parse_west_twouse_language_owl2fs_Comment();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ClassDeclaration.class) {
				return parse_west_twouse_language_owl2fs_ClassDeclaration();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DatatypeDeclaration.class) {
				return parse_west_twouse_language_owl2fs_DatatypeDeclaration();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectPropertyDeclaration.class) {
				return parse_west_twouse_language_owl2fs_ObjectPropertyDeclaration();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataPropertyDeclaration.class) {
				return parse_west_twouse_language_owl2fs_DataPropertyDeclaration();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.AnnotationPropertyDeclaration.class) {
				return parse_west_twouse_language_owl2fs_AnnotationPropertyDeclaration();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.NamedIndividualDeclaration.class) {
				return parse_west_twouse_language_owl2fs_NamedIndividualDeclaration();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.Class.class) {
				return parse_west_twouse_language_owl2fs_Class();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.Datatype.class) {
				return parse_west_twouse_language_owl2fs_Datatype();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectProperty.class) {
				return parse_west_twouse_language_owl2fs_ObjectProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataProperty.class) {
				return parse_west_twouse_language_owl2fs_DataProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.AnnotationProperty.class) {
				return parse_west_twouse_language_owl2fs_AnnotationProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.NamedIndividual.class) {
				return parse_west_twouse_language_owl2fs_NamedIndividual();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.AnnotationAssertion.class) {
				return parse_west_twouse_language_owl2fs_AnnotationAssertion();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.SubAnnotationPropertyOf.class) {
				return parse_west_twouse_language_owl2fs_SubAnnotationPropertyOf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.AnnotationPropertyDomain.class) {
				return parse_west_twouse_language_owl2fs_AnnotationPropertyDomain();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.AnnotationPropertyRange.class) {
				return parse_west_twouse_language_owl2fs_AnnotationPropertyRange();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.Annotation.class) {
				return parse_west_twouse_language_owl2fs_Annotation();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.AnonymousIndividual.class) {
				return parse_west_twouse_language_owl2fs_AnonymousIndividual();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.Literal.class) {
				return parse_west_twouse_language_owl2fs_Literal();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.InverseObjectProperty.class) {
				return parse_west_twouse_language_owl2fs_InverseObjectProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataComplementOf.class) {
				return parse_west_twouse_language_owl2fs_DataComplementOf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataOneOf.class) {
				return parse_west_twouse_language_owl2fs_DataOneOf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DatatypeRestriction.class) {
				return parse_west_twouse_language_owl2fs_DatatypeRestriction();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.FacetConstraintPair.class) {
				return parse_west_twouse_language_owl2fs_FacetConstraintPair();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectIntersectionOf.class) {
				return parse_west_twouse_language_owl2fs_ObjectIntersectionOf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectUnionOf.class) {
				return parse_west_twouse_language_owl2fs_ObjectUnionOf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectComplementOf.class) {
				return parse_west_twouse_language_owl2fs_ObjectComplementOf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectOneOf.class) {
				return parse_west_twouse_language_owl2fs_ObjectOneOf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectSomeValuesFrom.class) {
				return parse_west_twouse_language_owl2fs_ObjectSomeValuesFrom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectAllValuesFrom.class) {
				return parse_west_twouse_language_owl2fs_ObjectAllValuesFrom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectHasValue.class) {
				return parse_west_twouse_language_owl2fs_ObjectHasValue();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectHasSelf.class) {
				return parse_west_twouse_language_owl2fs_ObjectHasSelf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectMinCardinality.class) {
				return parse_west_twouse_language_owl2fs_ObjectMinCardinality();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectMaxCardinality.class) {
				return parse_west_twouse_language_owl2fs_ObjectMaxCardinality();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectExactCardinality.class) {
				return parse_west_twouse_language_owl2fs_ObjectExactCardinality();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataSomeValuesFrom.class) {
				return parse_west_twouse_language_owl2fs_DataSomeValuesFrom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataAllValuesFrom.class) {
				return parse_west_twouse_language_owl2fs_DataAllValuesFrom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataHasValue.class) {
				return parse_west_twouse_language_owl2fs_DataHasValue();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataMinCardinality.class) {
				return parse_west_twouse_language_owl2fs_DataMinCardinality();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataMaxCardinality.class) {
				return parse_west_twouse_language_owl2fs_DataMaxCardinality();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataExactCardinality.class) {
				return parse_west_twouse_language_owl2fs_DataExactCardinality();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.SubClassOf.class) {
				return parse_west_twouse_language_owl2fs_SubClassOf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.EquivalentClasses.class) {
				return parse_west_twouse_language_owl2fs_EquivalentClasses();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DisjointClasses.class) {
				return parse_west_twouse_language_owl2fs_DisjointClasses();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DisjointUnion.class) {
				return parse_west_twouse_language_owl2fs_DisjointUnion();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.SubObjectPropertyOf.class) {
				return parse_west_twouse_language_owl2fs_SubObjectPropertyOf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectPropertyChain.class) {
				return parse_west_twouse_language_owl2fs_ObjectPropertyChain();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.EquivalentObjectProperties.class) {
				return parse_west_twouse_language_owl2fs_EquivalentObjectProperties();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DisjointObjectProperties.class) {
				return parse_west_twouse_language_owl2fs_DisjointObjectProperties();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectPropertyDomain.class) {
				return parse_west_twouse_language_owl2fs_ObjectPropertyDomain();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectPropertyRange.class) {
				return parse_west_twouse_language_owl2fs_ObjectPropertyRange();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.InverseObjectProperties.class) {
				return parse_west_twouse_language_owl2fs_InverseObjectProperties();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.FunctionalObjectProperty.class) {
				return parse_west_twouse_language_owl2fs_FunctionalObjectProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.InverseFunctionalObjectProperty.class) {
				return parse_west_twouse_language_owl2fs_InverseFunctionalObjectProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ReflexiveObjectProperty.class) {
				return parse_west_twouse_language_owl2fs_ReflexiveObjectProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.IrreflexiveObjectProperty.class) {
				return parse_west_twouse_language_owl2fs_IrreflexiveObjectProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.SymmetricObjectProperty.class) {
				return parse_west_twouse_language_owl2fs_SymmetricObjectProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.AsymmetricObjectProperty.class) {
				return parse_west_twouse_language_owl2fs_AsymmetricObjectProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.TransitiveObjectProperty.class) {
				return parse_west_twouse_language_owl2fs_TransitiveObjectProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.SubDataPropertyOf.class) {
				return parse_west_twouse_language_owl2fs_SubDataPropertyOf();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.EquivalentDataProperties.class) {
				return parse_west_twouse_language_owl2fs_EquivalentDataProperties();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DisjointDataProperties.class) {
				return parse_west_twouse_language_owl2fs_DisjointDataProperties();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataPropertyDomain.class) {
				return parse_west_twouse_language_owl2fs_DataPropertyDomain();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataPropertyRange.class) {
				return parse_west_twouse_language_owl2fs_DataPropertyRange();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.FunctionalDataProperty.class) {
				return parse_west_twouse_language_owl2fs_FunctionalDataProperty();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DatatypeDefinition.class) {
				return parse_west_twouse_language_owl2fs_DatatypeDefinition();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.HasKey.class) {
				return parse_west_twouse_language_owl2fs_HasKey();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.SameIndividual.class) {
				return parse_west_twouse_language_owl2fs_SameIndividual();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DifferentIndividuals.class) {
				return parse_west_twouse_language_owl2fs_DifferentIndividuals();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ClassAssertion.class) {
				return parse_west_twouse_language_owl2fs_ClassAssertion();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectPropertyAssertion.class) {
				return parse_west_twouse_language_owl2fs_ObjectPropertyAssertion();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.NegativeObjectPropertyAssertion.class) {
				return parse_west_twouse_language_owl2fs_NegativeObjectPropertyAssertion();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataPropertyAssertion.class) {
				return parse_west_twouse_language_owl2fs_DataPropertyAssertion();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.NegativeDataPropertyAssertion.class) {
				return parse_west_twouse_language_owl2fs_NegativeDataPropertyAssertion();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DLSafeRule.class) {
				return parse_west_twouse_language_owl2fs_DLSafeRule();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ClassAtom.class) {
				return parse_west_twouse_language_owl2fs_ClassAtom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataRangeAtom.class) {
				return parse_west_twouse_language_owl2fs_DataRangeAtom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.ObjectPropertyAtom.class) {
				return parse_west_twouse_language_owl2fs_ObjectPropertyAtom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DataPropetyAtom.class) {
				return parse_west_twouse_language_owl2fs_DataPropetyAtom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.BuiltInAtom.class) {
				return parse_west_twouse_language_owl2fs_BuiltInAtom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.SameIndividualAtom.class) {
				return parse_west_twouse_language_owl2fs_SameIndividualAtom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DifferentIndividualsAtom.class) {
				return parse_west_twouse_language_owl2fs_DifferentIndividualsAtom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.Variable.class) {
				return parse_west_twouse_language_owl2fs_Variable();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DGRule.class) {
				return parse_west_twouse_language_owl2fs_DGRule();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DGAxiom.class) {
				return parse_west_twouse_language_owl2fs_DGAxiom();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DGNodes.class) {
				return parse_west_twouse_language_owl2fs_DGNodes();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.NodeAssertion.class) {
				return parse_west_twouse_language_owl2fs_NodeAssertion();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.DGEdges.class) {
				return parse_west_twouse_language_owl2fs_DGEdges();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.EdgeAssertion.class) {
				return parse_west_twouse_language_owl2fs_EdgeAssertion();
			}
			if (type.getInstanceClass() == west.twouse.language.owl2fs.MainClasses.class) {
				return parse_west_twouse_language_owl2fs_MainClasses();
			}
		}
		throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsUnexpectedContentTypeException(typeObject);
	}
	
	private west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTokenResolveResult getFreshTokenResolveResult() {
		tokenResolveResult.clear();
		return tokenResolveResult;
	}
	
	public int getMismatchedTokenRecoveryTries() {
		return mismatchedTokenRecoveryTries;
	}
	
	public java.lang.Object getMissingSymbol(org.antlr.runtime3_2_0.IntStream arg0, org.antlr.runtime3_2_0.RecognitionException arg1, int arg2, org.antlr.runtime3_2_0.BitSet arg3) {
		mismatchedTokenRecoveryTries++;
		return super.getMissingSymbol(arg0, arg1, arg2, arg3);
	}
	
	protected java.util.Map<?,?> getOptions() {
		return options;
	}
	
	public west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsMetaInformation getMetaInformation() {
		return new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsMetaInformation();
	}
	
	public java.lang.Object getParseToIndexTypeObject() {
		return parseToIndexTypeObject;
	}
	
	protected west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsReferenceResolverSwitch getReferenceResolverSwitch() {
		return (west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsReferenceResolverSwitch) getMetaInformation().getReferenceResolverSwitch();
	}
	
	protected java.lang.Object getTypeObject() {
		java.lang.Object typeObject = getParseToIndexTypeObject();
		if (typeObject != null) {
			return typeObject;
		}
		java.util.Map<?,?> options = getOptions();
		if (options != null) {
			typeObject = options.get(west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsOptions.RESOURCE_CONTENT_TYPE);
		}
		return typeObject;
	}
	
	/**
	 * Implementation that calls {@link #doParse()} and handles the thrown
	 * RecognitionExceptions.
	 */
	public west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsParseResult parse() {
		terminateParsing = false;
		postParseCommands = new java.util.ArrayList<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsCommand<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource>>();
		west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsParseResult parseResult = new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsParseResult();
		try {
			org.eclipse.emf.ecore.EObject result =  doParse();
			if (lexerExceptions.isEmpty()) {
				parseResult.setRoot(result);
			}
		} catch (org.antlr.runtime3_2_0.RecognitionException re) {
			reportError(re);
		} catch (java.lang.IllegalArgumentException iae) {
			if ("The 'no null' constraint is violated".equals(iae.getMessage())) {
				// can be caused if a null is set on EMF models where not allowed. this will just
				// happen if other errors occurred before
			} else {
				iae.printStackTrace();
			}
		}
		for (org.antlr.runtime3_2_0.RecognitionException re : lexerExceptions) {
			reportLexicalError(re);
		}
		parseResult.getPostParseCommands().addAll(postParseCommands);
		return parseResult;
	}
	
	public java.util.List<west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal> parseToExpectedElements(org.eclipse.emf.ecore.EClass type, west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource dummyResource) {
		rememberExpectedElements = true;
		parseToIndexTypeObject = type;
		final org.antlr.runtime3_2_0.CommonTokenStream tokenStream = (org.antlr.runtime3_2_0.CommonTokenStream) getTokenStream();
		west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsParseResult result = parse();
		for (org.eclipse.emf.ecore.EObject incompleteObject : incompleteObjects) {
			org.antlr.runtime3_2_0.Lexer lexer = (org.antlr.runtime3_2_0.Lexer) tokenStream.getTokenSource();
			int endChar = lexer.getCharIndex();
			int endLine = lexer.getLine();
			setLocalizationEnd(result.getPostParseCommands(), incompleteObject, endChar, endLine);
		}
		if (result != null) {
			org.eclipse.emf.ecore.EObject root = result.getRoot();
			if (root != null) {
				dummyResource.getContents().add(root);
			}
			for (west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsCommand<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource> command : result.getPostParseCommands()) {
				command.execute(dummyResource);
			}
		}
		// remove all expected elements that were added after the last complete element
		expectedElements = expectedElements.subList(0, expectedElementsIndexOfLastCompleteElement + 1);
		int lastFollowSetID = expectedElements.get(expectedElementsIndexOfLastCompleteElement).getFollowSetID();
		java.util.Set<west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal> currentFollowSet = new java.util.LinkedHashSet<west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal>();
		java.util.List<west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal> newFollowSet = new java.util.ArrayList<west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal>();
		for (int i = expectedElementsIndexOfLastCompleteElement; i >= 0; i--) {
			west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal expectedElementI = expectedElements.get(i);
			if (expectedElementI.getFollowSetID() == lastFollowSetID) {
				currentFollowSet.add(expectedElementI);
			} else {
				break;
			}
		}
		int followSetID = 529;
		int i;
		for (i = tokenIndexOfLastCompleteElement; i < tokenStream.size(); i++) {
			org.antlr.runtime3_2_0.CommonToken nextToken = (org.antlr.runtime3_2_0.CommonToken) tokenStream.get(i);
			if (nextToken.getChannel() == 99) {
				// hidden tokens do not reduce the follow set
			} else {
				// now that we have found the next visible token the position for that expected
				// terminals can be set
				for (west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal nextFollow : newFollowSet) {
					lastTokenIndex = 0;
					setPosition(nextFollow, i);
				}
				newFollowSet.clear();
				// normal tokens do reduce the follow set - only elements that match the token are
				// kept
				for (west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal nextFollow : currentFollowSet) {
					if (nextFollow.getTerminal().getTokenName().equals(getTokenNames()[nextToken.getType()])) {
						// keep this one - it matches
						java.util.Collection<west.twouse.language.owl2fs.resource.owl2fs.util.Owl2fsPair<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsExpectedElement, org.eclipse.emf.ecore.EStructuralFeature[]>> newFollowers = nextFollow.getTerminal().getFollowers();
						for (west.twouse.language.owl2fs.resource.owl2fs.util.Owl2fsPair<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsExpectedElement, org.eclipse.emf.ecore.EStructuralFeature[]> newFollowerPair : newFollowers) {
							west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsExpectedElement newFollower = newFollowerPair.getLeft();
							west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal newFollowTerminal = new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(newFollower, followSetID, newFollowerPair.getRight());
							newFollowSet.add(newFollowTerminal);
							expectedElements.add(newFollowTerminal);
						}
					}
				}
				currentFollowSet.clear();
				currentFollowSet.addAll(newFollowSet);
			}
			followSetID++;
		}
		// after the last token in the stream we must set the position for the elements
		// that were added during the last iteration of the loop
		for (west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal nextFollow : newFollowSet) {
			lastTokenIndex = 0;
			setPosition(nextFollow, i);
		}
		return this.expectedElements;
	}
	
	public void setPosition(west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal expectedElement, int tokenIndex) {
		int currentIndex = java.lang.Math.max(0, tokenIndex);
		for (int index = lastTokenIndex; index < currentIndex; index++) {
			if (index >= input.size()) {
				break;
			}
			org.antlr.runtime3_2_0.CommonToken tokenAtIndex = (org.antlr.runtime3_2_0.CommonToken) input.get(index);
			stopIncludingHiddenTokens = tokenAtIndex.getStopIndex() + 1;
			if (tokenAtIndex.getChannel() != 99) {
				stopExcludingHiddenTokens = tokenAtIndex.getStopIndex() + 1;
			}
		}
		lastTokenIndex = java.lang.Math.max(0, currentIndex);
		expectedElement.setPosition(stopExcludingHiddenTokens, stopIncludingHiddenTokens);
	}
	
	public java.lang.Object recoverFromMismatchedToken(org.antlr.runtime3_2_0.IntStream input, int ttype, org.antlr.runtime3_2_0.BitSet follow) throws org.antlr.runtime3_2_0.RecognitionException {
		if (!rememberExpectedElements) {
			return super.recoverFromMismatchedToken(input, ttype, follow);
		} else {
			return null;
		}
	}
	
	protected <ContainerType extends org.eclipse.emf.ecore.EObject, ReferenceType extends org.eclipse.emf.ecore.EObject> void registerContextDependentProxy(final west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsContextDependentURIFragmentFactory<ContainerType, ReferenceType> factory, final ContainerType element, final org.eclipse.emf.ecore.EReference reference, final String id, final org.eclipse.emf.ecore.EObject proxy) {
		postParseCommands.add(new west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsCommand<west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource>() {
			public boolean execute(west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTextResource resource) {
				if (resource == null) {
					// the resource can be null if the parser is used for code completion
					return true;
				}
				resource.registerContextDependentProxy(factory, element, reference, id, proxy);
				return true;
			}
		});
	}
	
	/**
	 * Translates errors thrown by the parser into human readable messages.
	 */
	public void reportError(final org.antlr.runtime3_2_0.RecognitionException e)  {
		java.lang.String message = e.getMessage();
		if (e instanceof org.antlr.runtime3_2_0.MismatchedTokenException) {
			org.antlr.runtime3_2_0.MismatchedTokenException mte = (org.antlr.runtime3_2_0.MismatchedTokenException) e;
			java.lang.String tokenName = "<unknown>";
			if (mte.expecting == Token.EOF) {
				tokenName = "EOF";
			} else {
				tokenName = getTokenNames()[mte.expecting];
				tokenName = west.twouse.language.owl2fs.resource.owl2fs.util.Owl2fsStringUtil.formatTokenName(tokenName);
			}
			message = "Syntax error on token \"" + e.token.getText() + "\", \"" + tokenName + "\" expected";
		} else if (e instanceof org.antlr.runtime3_2_0.MismatchedTreeNodeException) {
			org.antlr.runtime3_2_0.MismatchedTreeNodeException mtne = (org.antlr.runtime3_2_0.MismatchedTreeNodeException) e;
			java.lang.String tokenName = "<unknown>";
			if (mtne.expecting == Token.EOF) {
				tokenName = "EOF";
			} else {
				tokenName = getTokenNames()[mtne.expecting];
			}
			message = "mismatched tree node: " + "xxx" + "; expecting " + tokenName;
		} else if (e instanceof org.antlr.runtime3_2_0.NoViableAltException) {
			message = "Syntax error on token \"" + e.token.getText() + "\", check following tokens";
		} else if (e instanceof org.antlr.runtime3_2_0.EarlyExitException) {
			message = "Syntax error on token \"" + e.token.getText() + "\", delete this token";
		} else if (e instanceof org.antlr.runtime3_2_0.MismatchedSetException) {
			org.antlr.runtime3_2_0.MismatchedSetException mse = (org.antlr.runtime3_2_0.MismatchedSetException) e;
			message = "mismatched token: " + e.token + "; expecting set " + mse.expecting;
		} else if (e instanceof org.antlr.runtime3_2_0.MismatchedNotSetException) {
			org.antlr.runtime3_2_0.MismatchedNotSetException mse = (org.antlr.runtime3_2_0.MismatchedNotSetException) e;
			message = "mismatched token: " +  e.token + "; expecting set " + mse.expecting;
		} else if (e instanceof org.antlr.runtime3_2_0.FailedPredicateException) {
			org.antlr.runtime3_2_0.FailedPredicateException fpe = (org.antlr.runtime3_2_0.FailedPredicateException) e;
			message = "rule " + fpe.ruleName + " failed predicate: {" +  fpe.predicateText + "}?";
		}
		// the resource may be null if the parse is used for code completion
		final java.lang.String finalMessage = message;
		if (e.token instanceof org.antlr.runtime3_2_0.CommonToken) {
			final org.antlr.runtime3_2_0.CommonToken ct = (org.antlr.runtime3_2_0.CommonToken) e.token;
			addErrorToResource(finalMessage, ct.getCharPositionInLine(), ct.getLine(), ct.getStartIndex(), ct.getStopIndex());
		} else {
			addErrorToResource(finalMessage, e.token.getCharPositionInLine(), e.token.getLine(), 1, 5);
		}
	}
	
	/**
	 * Translates errors thrown by the lexer into human readable messages.
	 */
	public void reportLexicalError(final org.antlr.runtime3_2_0.RecognitionException e)  {
		java.lang.String message = "";
		if (e instanceof org.antlr.runtime3_2_0.MismatchedTokenException) {
			org.antlr.runtime3_2_0.MismatchedTokenException mte = (org.antlr.runtime3_2_0.MismatchedTokenException) e;
			message = "Syntax error on token \"" + ((char) e.c) + "\", \"" + (char) mte.expecting + "\" expected";
		} else if (e instanceof org.antlr.runtime3_2_0.NoViableAltException) {
			message = "Syntax error on token \"" + ((char) e.c) + "\", delete this token";
		} else if (e instanceof org.antlr.runtime3_2_0.EarlyExitException) {
			org.antlr.runtime3_2_0.EarlyExitException eee = (org.antlr.runtime3_2_0.EarlyExitException) e;
			message ="required (...)+ loop (decision=" + eee.decisionNumber + ") did not match anything; on line " + e.line + ":" + e.charPositionInLine + " char=" + ((char) e.c) + "'";
		} else if (e instanceof org.antlr.runtime3_2_0.MismatchedSetException) {
			org.antlr.runtime3_2_0.MismatchedSetException mse = (org.antlr.runtime3_2_0.MismatchedSetException) e;
			message ="mismatched char: '" + ((char) e.c) + "' on line " + e.line + ":" + e.charPositionInLine + "; expecting set " + mse.expecting;
		} else if (e instanceof org.antlr.runtime3_2_0.MismatchedNotSetException) {
			org.antlr.runtime3_2_0.MismatchedNotSetException mse = (org.antlr.runtime3_2_0.MismatchedNotSetException) e;
			message ="mismatched char: '" + ((char) e.c) + "' on line " + e.line + ":" + e.charPositionInLine + "; expecting set " + mse.expecting;
		} else if (e instanceof org.antlr.runtime3_2_0.MismatchedRangeException) {
			org.antlr.runtime3_2_0.MismatchedRangeException mre = (org.antlr.runtime3_2_0.MismatchedRangeException) e;
			message ="mismatched char: '" + ((char) e.c) + "' on line " + e.line + ":" + e.charPositionInLine + "; expecting set '" + (char) mre.a + "'..'" + (char) mre.b + "'";
		} else if (e instanceof org.antlr.runtime3_2_0.FailedPredicateException) {
			org.antlr.runtime3_2_0.FailedPredicateException fpe = (org.antlr.runtime3_2_0.FailedPredicateException) e;
			message ="rule " + fpe.ruleName + " failed predicate: {" + fpe.predicateText + "}?";
		}
		addErrorToResource(message, e.index, e.line, lexerExceptionsPosition.get(lexerExceptions.indexOf(e)), lexerExceptionsPosition.get(lexerExceptions.indexOf(e)));
	}
	
	public void setOptions(java.util.Map<?,?> options) {
		this.options = options;
	}
	
	public void terminate() {
		terminateParsing = true;
	}
	
	protected void completedElement(java.lang.Object object, boolean isContainment) {
		if (isContainment && !this.incompleteObjects.isEmpty()) {
			this.incompleteObjects.pop();
		}
		if (object instanceof org.eclipse.emf.ecore.EObject) {
			this.tokenIndexOfLastCompleteElement = getTokenStream().index();
			this.expectedElementsIndexOfLastCompleteElement = expectedElements.size() - 1;
		}
	}
	
	/**
	 * Creates a dynamic Java proxy that mimics the interface of the given class.
	 */
	@SuppressWarnings("unchecked")
	
	public <T> T createDynamicProxy(java.lang.Class<T> clazz) {
		java.lang.Object proxy = java.lang.reflect.Proxy.newProxyInstance(this.getClass().getClassLoader(), new java.lang.Class<?>[]{clazz, org.eclipse.emf.ecore.EObject.class, org.eclipse.emf.ecore.InternalEObject.class}, new java.lang.reflect.InvocationHandler() {
			
			private org.eclipse.emf.ecore.EObject dummyObject = new org.eclipse.emf.ecore.impl.EObjectImpl() {};
			
			public java.lang.Object invoke(java.lang.Object object, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable {
				// search in dummyObject for the requested method
				java.lang.reflect.Method[] methodsInDummy = dummyObject.getClass().getMethods();
				for (java.lang.reflect.Method methodInDummy : methodsInDummy) {
					boolean matches = true;
					if (methodInDummy.getName().equals(method.getName())) {
						java.lang.Class<?>[] parameterTypes = method.getParameterTypes();
						java.lang.Class<?>[] parameterTypesInDummy = methodInDummy.getParameterTypes();
						if (parameterTypes.length == parameterTypesInDummy.length) {
							for (int p = 0; p < parameterTypes.length; p++) {
								java.lang.Class<?> parameterType = parameterTypes[p];
								java.lang.Class<?> parameterTypeInDummy = parameterTypesInDummy[p];
								if (!parameterType.equals(parameterTypeInDummy)) {
									matches = false;
								}
							}
						} else {
							matches = false;
						}
					} else {
						matches = false;
					}
					if (matches) {
						return methodInDummy.invoke(dummyObject, args);
					}
				}
				return null;
			}
		});
		return (T) proxy;
	}
	
	protected void retrieveLayoutInformation(org.eclipse.emf.ecore.EObject element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsSyntaxElement syntaxElement, java.lang.Object object) {
		if (!(syntaxElement instanceof west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsPlaceholder) && !(syntaxElement instanceof west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsKeyword)) {
			return;
		}
		west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsLayoutInformationAdapter layoutInformationAdapter = getLayoutInformationAdapter(element);
		for (org.antlr.runtime3_2_0.CommonToken anonymousToken : anonymousTokens) {
			layoutInformationAdapter.addLayoutInformation(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsLayoutInformation(syntaxElement, object, anonymousToken.getStartIndex(), anonymousToken.getText(), ""));
		}
		anonymousTokens.clear();
		int currentPos = getTokenStream().index();
		if (currentPos == 0) {
			return;
		}
		int endPos = currentPos - 1;
		for (; endPos >= this.lastPosition2; endPos--) {
			org.antlr.runtime3_2_0.Token token = getTokenStream().get(endPos);
			int _channel = token.getChannel();
			if (_channel != 99) {
				break;
			}
		}
		java.lang.StringBuilder hiddenTokenText = new java.lang.StringBuilder();
		java.lang.StringBuilder visibleTokenText = new java.lang.StringBuilder();
		org.antlr.runtime3_2_0.CommonToken firstToken = null;
		for (int pos = this.lastPosition2; pos <= endPos; pos++) {
			org.antlr.runtime3_2_0.Token token = getTokenStream().get(pos);
			if (firstToken == null) {
				firstToken = (org.antlr.runtime3_2_0.CommonToken) token;
			}
			int _channel = token.getChannel();
			if (_channel == 99) {
				hiddenTokenText.append(token.getText());
			} else {
				visibleTokenText.append(token.getText());
			}
		}
		int offset = -1;
		if (firstToken != null) {
			offset = firstToken.getStartIndex();
		}
		layoutInformationAdapter.addLayoutInformation(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsLayoutInformation(syntaxElement, object, offset, hiddenTokenText.toString(), visibleTokenText.toString()));
		this.lastPosition2 = (endPos < 0 ? 0 : endPos + 1);
	}
	
	protected west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsLayoutInformationAdapter getLayoutInformationAdapter(org.eclipse.emf.ecore.EObject element) {
		for (org.eclipse.emf.common.notify.Adapter adapter : element.eAdapters()) {
			if (adapter instanceof west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsLayoutInformationAdapter) {
				return (west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsLayoutInformationAdapter) adapter;
			}
		}
		west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsLayoutInformationAdapter newAdapter = new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsLayoutInformationAdapter();
		element.eAdapters().add(newAdapter);
		return newAdapter;
	}
	
}

start returns [ org.eclipse.emf.ecore.EObject element = null]
:
	{
		// follow set for start rule(s)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_0, 0, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_0));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 0, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_2, 0, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_2));
		expectedElementsIndexOfLastCompleteElement = expectedElements.size() - 1;
	}
	(
		c0 = parse_west_twouse_language_owl2fs_OntologyDocument{ element = c0; }
	)
	EOF	
;

parse_west_twouse_language_owl2fs_FullIRI returns [west.twouse.language.owl2fs.FullIRI element = null]
@init{
}
:
	(
		a0 = FULLIRI		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFullIRI();
			}
			if (a0 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("FULLIRI");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a0.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.FULL_IRI__VALUE), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a0).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a0).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a0).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a0).getStopIndex());
				}
				java.lang.String resolved = (java.lang.String)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.FULL_IRI__VALUE), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_0_0_0_0, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_4, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_55, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_85, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_86, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_87, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_88, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_9));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_90, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_91, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_92, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_93, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_94, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_95, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_96, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_97, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_98, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_99, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_100, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_101, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_102, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_103, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_104, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_108, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_109, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_110, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 1, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_112, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_113, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_114, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_115, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_116, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_117, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_118, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_119, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_120, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_121, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_122, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_123, 1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_124, 1));
	}
	
;

parse_west_twouse_language_owl2fs_AbbreviatedIRI returns [west.twouse.language.owl2fs.AbbreviatedIRI element = null]
@init{
}
:
	(
		(
			a0 = ABBRIRI			
			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAbbreviatedIRI();
				}
				if (a0 != null) {
					west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("ABBRIRI");
					tokenResolver.setOptions(getOptions());
					west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
					tokenResolver.resolve(a0.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ABBREVIATED_IRI__PREFIX), result);
					java.lang.Object resolvedObject = result.getResolvedToken();
					if (resolvedObject == null) {
						addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a0).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a0).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a0).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a0).getStopIndex());
					}
					java.lang.String resolved = (java.lang.String)resolvedObject;
					if (resolved != null) {
						element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ABBREVIATED_IRI__PREFIX), resolved);
						completedElement(resolved, false);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_1_0_0_0, resolved);
					copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a0, element);
				}
			}
		)
		
	)?	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 2));
	}
	
	a1 = ':' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAbbreviatedIRI();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_1_0_0_2, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_125, 3));
	}
	
	(
		a2 = ABBRIRI		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAbbreviatedIRI();
			}
			if (a2 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("ABBRIRI");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a2.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ABBREVIATED_IRI__VALUE), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a2).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStopIndex());
				}
				java.lang.String resolved = (java.lang.String)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ABBREVIATED_IRI__VALUE), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_1_0_0_4, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a2, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_55, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_85, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_86, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_87, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_88, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_9));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_90, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_91, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_92, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_93, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_94, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_95, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_96, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_97, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_98, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_99, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_100, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_101, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_102, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_103, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_104, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_108, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_109, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_110, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 4, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_112, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_113, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_114, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_115, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_116, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_117, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_118, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_119, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_120, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_121, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_122, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_123, 4));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_124, 4));
	}
	
;

parse_west_twouse_language_owl2fs_OntologyDocument returns [west.twouse.language.owl2fs.OntologyDocument element = null]
@init{
}
:
	(
		(
			(
				a0_0 = parse_west_twouse_language_owl2fs_PrefixDefinition				{
					if (terminateParsing) {
						throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
					}
					if (element == null) {
						element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntologyDocument();
					}
					if (a0_0 != null) {
						if (a0_0 != null) {
							addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY_DOCUMENT__PREFIX_DEFINITION, a0_0);
							completedElement(a0_0, true);
						}
						collectHiddenTokens(element);
						retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_2_0_0_0_0_0_0, a0_0);
						copyLocalizationInfos(a0_0, element);
					}
				}
			)
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_0, 5, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_0));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 5, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_1));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_2, 5, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_2));
			}
			
			
			|			(
				a1_0 = parse_west_twouse_language_owl2fs_Comment				{
					if (terminateParsing) {
						throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
					}
					if (element == null) {
						element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntologyDocument();
					}
					if (a1_0 != null) {
						if (a1_0 != null) {
							addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY_DOCUMENT__COMMENT, a1_0);
							completedElement(a1_0, true);
						}
						collectHiddenTokens(element);
						retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_2_0_0_0_0_1_0, a1_0);
						copyLocalizationInfos(a1_0, element);
					}
				}
			)
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_0, 6, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_0));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 6, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_1));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_2, 6, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_2));
			}
			
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_0, 7, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_0));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 7, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_2, 7, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_2));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_Ontology		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntologyDocument();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY_DOCUMENT__ONTOLOGY), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_2_0_0_1, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
	}
	
;

parse_west_twouse_language_owl2fs_PrefixDefinition returns [west.twouse.language.owl2fs.PrefixDefinition element = null]
@init{
}
:
	a0 = 'Prefix' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createPrefixDefinition();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_3_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_126, 9));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createPrefixDefinition();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_3_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_127, 10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_128, 10));
	}
	
	(
		(
			a2 = ABBRIRI			
			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createPrefixDefinition();
				}
				if (a2 != null) {
					west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("ABBRIRI");
					tokenResolver.setOptions(getOptions());
					west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
					tokenResolver.resolve(a2.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.PREFIX_DEFINITION__PREF), result);
					java.lang.Object resolvedObject = result.getResolvedToken();
					if (resolvedObject == null) {
						addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a2).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStopIndex());
					}
					java.lang.String resolved = (java.lang.String)resolvedObject;
					if (resolved != null) {
						element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.PREFIX_DEFINITION__PREF), resolved);
						completedElement(resolved, false);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_3_0_0_2, resolved);
					copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a2, element);
				}
			}
		)
		
	)?	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_128, 11));
	}
	
	a3 = ':=' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createPrefixDefinition();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_3_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 12, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_12));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_FullIRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createPrefixDefinition();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.PREFIX_DEFINITION__NAMESPACE), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_3_0_0_6, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_4, 13));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createPrefixDefinition();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_3_0_0_7, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_0, 14, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_0));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 14, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_2, 14, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_2));
	}
	
;

parse_west_twouse_language_owl2fs_Ontology returns [west.twouse.language.owl2fs.Ontology element = null]
@init{
}
:
	a0 = 'Ontology' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_129, 15));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_2, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_13));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_13));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_13));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 16));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 16));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Comment			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__COMMENT, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_3, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_13));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_13));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_13));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 17, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 17));
	}
	
	(
		(
			(
				a3_0 = parse_west_twouse_language_owl2fs_IRI				{
					if (terminateParsing) {
						throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
					}
					if (element == null) {
						element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
					}
					if (a3_0 != null) {
						if (a3_0 != null) {
							element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__ONTOLOGY_IRI), a3_0);
							completedElement(a3_0, true);
						}
						collectHiddenTokens(element);
						retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_4_0_0_0, a3_0);
						copyLocalizationInfos(a3_0, element);
					}
				}
			)
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 18));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 18));
			}
			
			(
				(
					a4_0 = parse_west_twouse_language_owl2fs_Comment					{
						if (terminateParsing) {
							throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
						}
						if (element == null) {
							element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
						}
						if (a4_0 != null) {
							if (a4_0 != null) {
								addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__COMMENT, a4_0);
								completedElement(a4_0, true);
							}
							collectHiddenTokens(element);
							retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_4_0_0_1, a4_0);
							copyLocalizationInfos(a4_0, element);
						}
					}
				)
				
			)*			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_4));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 19));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 19, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 19));
			}
			
			(
				(
					a5_0 = parse_west_twouse_language_owl2fs_IRI					{
						if (terminateParsing) {
							throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
						}
						if (element == null) {
							element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
						}
						if (a5_0 != null) {
							if (a5_0 != null) {
								element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__VERSION_IRI), a5_0);
								completedElement(a5_0, true);
							}
							collectHiddenTokens(element);
							retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_4_0_0_2, a5_0);
							copyLocalizationInfos(a5_0, element);
						}
					}
				)
				
			)?			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 20));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 20, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 20));
			}
			
		)
		
	)?	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 21, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 21));
	}
	
	(
		(
			a6_0 = parse_west_twouse_language_owl2fs_Comment			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
				}
				if (a6_0 != null) {
					if (a6_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__COMMENT, a6_0);
						completedElement(a6_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_5, a6_0);
					copyLocalizationInfos(a6_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 22));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 22, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 22));
	}
	
	(
		(
			a7 = 'Import' {
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
					incompleteObjects.push(element);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_6_0_0_0, null);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a7, element);
			}
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_130, 23));
			}
			
			a8 = '(' {
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
					incompleteObjects.push(element);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_6_0_0_1, null);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a8, element);
			}
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 24, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 24, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_14));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 24, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_14));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 24, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_14));
			}
			
			(
				(
					a9_0 = parse_west_twouse_language_owl2fs_Comment					{
						if (terminateParsing) {
							throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
						}
						if (element == null) {
							element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
						}
						if (a9_0 != null) {
							if (a9_0 != null) {
								addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__COMMENT, a9_0);
								completedElement(a9_0, true);
							}
							collectHiddenTokens(element);
							retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_6_0_0_2, a9_0);
							copyLocalizationInfos(a9_0, element);
						}
					}
				)
				
			)*			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 25, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 25, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_14));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 25, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_14));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 25, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_14));
			}
			
			(
				a10_0 = parse_west_twouse_language_owl2fs_IRI				{
					if (terminateParsing) {
						throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
					}
					if (element == null) {
						element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
					}
					if (a10_0 != null) {
						if (a10_0 != null) {
							addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__DIRECTLY_IMPORTS_DOCUMENTS, a10_0);
							completedElement(a10_0, true);
						}
						collectHiddenTokens(element);
						retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_6_0_0_3, a10_0);
						copyLocalizationInfos(a10_0, element);
					}
				}
			)
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 26, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_131, 26));
			}
			
			(
				(
					a11_0 = parse_west_twouse_language_owl2fs_Comment					{
						if (terminateParsing) {
							throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
						}
						if (element == null) {
							element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
						}
						if (a11_0 != null) {
							if (a11_0 != null) {
								addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__COMMENT, a11_0);
								completedElement(a11_0, true);
							}
							collectHiddenTokens(element);
							retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_6_0_0_4, a11_0);
							copyLocalizationInfos(a11_0, element);
						}
					}
				)
				
			)*			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 27, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_131, 27));
			}
			
			a12 = ')' {
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
					incompleteObjects.push(element);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_6_0_0_5, null);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a12, element);
			}
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 28));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 28, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 28));
			}
			
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 29));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 29, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 29));
	}
	
	(
		(
			(
				(
					a13_0 = parse_west_twouse_language_owl2fs_Comment					{
						if (terminateParsing) {
							throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
						}
						if (element == null) {
							element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
						}
						if (a13_0 != null) {
							if (a13_0 != null) {
								addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__COMMENT, a13_0);
								completedElement(a13_0, true);
							}
							collectHiddenTokens(element);
							retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_7_0_0_0, a13_0);
							copyLocalizationInfos(a13_0, element);
						}
					}
				)
				
			)*			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 30, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 30, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
			}
			
			(
				a14_0 = parse_west_twouse_language_owl2fs_Annotation				{
					if (terminateParsing) {
						throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
					}
					if (element == null) {
						element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
					}
					if (a14_0 != null) {
						if (a14_0 != null) {
							addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__ONTOLOGY_ANNOTATIONS, a14_0);
							completedElement(a14_0, true);
						}
						collectHiddenTokens(element);
						retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_7_0_0_1, a14_0);
						copyLocalizationInfos(a14_0, element);
					}
				}
			)
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 31, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 31));
			}
			
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 32, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 32));
	}
	
	(
		(
			a15_0 = parse_west_twouse_language_owl2fs_Axiom			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
				}
				if (a15_0 != null) {
					if (a15_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__AXIOMS, a15_0);
						completedElement(a15_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_9, a15_0);
					copyLocalizationInfos(a15_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 33, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 33));
	}
	
	a16 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_10, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a16, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 34, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
	}
	
	(
		(
			a17_0 = parse_west_twouse_language_owl2fs_Comment			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createOntology();
				}
				if (a17_0 != null) {
					if (a17_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ONTOLOGY__COMMENT, a17_0);
						completedElement(a17_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_4_0_0_11, a17_0);
					copyLocalizationInfos(a17_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 35, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
	}
	
;

parse_west_twouse_language_owl2fs_Comment returns [west.twouse.language.owl2fs.Comment element = null]
@init{
}
:
	(
		a0 = COMMENT		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createComment();
			}
			if (a0 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("COMMENT");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a0.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.COMMENT__COMMENT), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a0).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a0).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a0).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a0).getStopIndex());
				}
				java.lang.String resolved = (java.lang.String)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.COMMENT__COMMENT), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_5_0_0_1, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_0, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_0));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_1));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_2, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_2));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_13));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_13));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_13));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_7, 36));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 36, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 36));
	}
	
;

parse_west_twouse_language_owl2fs_ClassDeclaration returns [west.twouse.language.owl2fs.ClassDeclaration element = null]
@init{
}
:
	a0 = 'Declaration' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_6_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_132, 37));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_6_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 38, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_133, 38));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassDeclaration();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.CLASS_DECLARATION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_6_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 39, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_133, 39));
	}
	
	a3 = 'Class' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_6_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_134, 40));
	}
	
	a4 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_6_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 41, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 41, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 41, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_Class		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassDeclaration();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.CLASS_DECLARATION__ENTITY), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_6_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_55, 42));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_6_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_135, 43));
	}
	
	a7 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_6_0_0_7, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a7, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 44, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 44));
	}
	
;

parse_west_twouse_language_owl2fs_DatatypeDeclaration returns [west.twouse.language.owl2fs.DatatypeDeclaration element = null]
@init{
}
:
	a0 = 'Declaration' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_7_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_136, 45));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_7_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 46, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_137, 46));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDeclaration();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DATATYPE_DECLARATION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_7_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 47, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_137, 47));
	}
	
	a3 = 'Datatype' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_7_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_138, 48));
	}
	
	a4 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_7_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 49, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 49, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 49, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_Datatype		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDeclaration();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATATYPE_DECLARATION__ENTITY), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_7_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_86, 50));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_7_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_139, 51));
	}
	
	a7 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_7_0_0_7, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a7, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 52, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 52));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectPropertyDeclaration returns [west.twouse.language.owl2fs.ObjectPropertyDeclaration element = null]
@init{
}
:
	a0 = 'Declaration' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_8_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_140, 53));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_8_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 54, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_141, 54));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDeclaration();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_DECLARATION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_8_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 55, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_141, 55));
	}
	
	a3 = 'ObjectProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_8_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_142, 56));
	}
	
	a4 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_8_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 57, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 57, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 57, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_ObjectProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDeclaration();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_DECLARATION__ENTITY), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_8_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_108, 58));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_8_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_143, 59));
	}
	
	a7 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_8_0_0_7, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a7, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 60, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 60));
	}
	
;

parse_west_twouse_language_owl2fs_DataPropertyDeclaration returns [west.twouse.language.owl2fs.DataPropertyDeclaration element = null]
@init{
}
:
	a0 = 'Declaration' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_9_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_144, 61));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_9_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 62, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_145, 62));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDeclaration();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_DECLARATION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_9_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 63, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_145, 63));
	}
	
	a3 = 'DataProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_9_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_146, 64));
	}
	
	a4 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_9_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 65, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 65, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 65, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_DataProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDeclaration();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_DECLARATION__ENTITY), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_9_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_119, 66));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_9_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_147, 67));
	}
	
	a7 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_9_0_0_7, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a7, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 68, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 68));
	}
	
;

parse_west_twouse_language_owl2fs_AnnotationPropertyDeclaration returns [west.twouse.language.owl2fs.AnnotationPropertyDeclaration element = null]
@init{
}
:
	a0 = 'Declaration' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_10_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_148, 69));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_10_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 70, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_149, 70));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDeclaration();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_PROPERTY_DECLARATION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_10_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 71, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_149, 71));
	}
	
	a3 = 'AnnotationProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_10_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_150, 72));
	}
	
	a4 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_10_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 73, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 73, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 73, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_AnnotationProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDeclaration();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_PROPERTY_DECLARATION__ENTITY), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_10_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_121, 74));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_10_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_151, 75));
	}
	
	a7 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_10_0_0_7, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a7, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 76, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 76));
	}
	
;

parse_west_twouse_language_owl2fs_NamedIndividualDeclaration returns [west.twouse.language.owl2fs.NamedIndividualDeclaration element = null]
@init{
}
:
	a0 = 'Declaration' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNamedIndividualDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_11_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_152, 77));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNamedIndividualDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_11_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 78, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_153, 78));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNamedIndividualDeclaration();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.NAMED_INDIVIDUAL_DECLARATION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_11_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 79, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_153, 79));
	}
	
	a3 = 'NamedIndividual' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNamedIndividualDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_11_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_154, 80));
	}
	
	a4 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNamedIndividualDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_11_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 81, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 81, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 81, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_17));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_NamedIndividual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNamedIndividualDeclaration();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.NAMED_INDIVIDUAL_DECLARATION__ENTITY), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_11_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_122, 82));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNamedIndividualDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_11_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_155, 83));
	}
	
	a7 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNamedIndividualDeclaration();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_11_0_0_7, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a7, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 84, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 84));
	}
	
;

parse_west_twouse_language_owl2fs_Class returns [west.twouse.language.owl2fs.Class element = null]
@init{
}
:
	(
		a0_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClass();
			}
			if (a0_0 != null) {
				if (a0_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.CLASS__ENTITY_IRI), a0_0);
					completedElement(a0_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_12_0_0_0, a0_0);
				copyLocalizationInfos(a0_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_55, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 85, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_85, 85));
	}
	
;

parse_west_twouse_language_owl2fs_Datatype returns [west.twouse.language.owl2fs.Datatype element = null]
@init{
}
:
	(
		a0_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatype();
			}
			if (a0_0 != null) {
				if (a0_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATATYPE__ENTITY_IRI), a0_0);
					completedElement(a0_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_13_0_0_0, a0_0);
				copyLocalizationInfos(a0_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_86, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_87, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_88, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 86, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_9));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_90, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 86, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 86, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 86, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_91, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_92, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_93, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_94, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_95, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_96, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 86, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_20));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_97, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_98, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_99, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_100, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_101, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_102, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_103, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_104, 86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 86, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 86, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 86, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectProperty returns [west.twouse.language.owl2fs.ObjectProperty element = null]
@init{
}
:
	(
		a0_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectProperty();
			}
			if (a0_0 != null) {
				if (a0_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY__ENTITY_IRI), a0_0);
					completedElement(a0_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_14_0_0_0, a0_0);
				copyLocalizationInfos(a0_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_108, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_109, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_22));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_110, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_112, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_113, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_114, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_115, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_116, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_117, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_118, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_156, 87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 87, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_23));
	}
	
;

parse_west_twouse_language_owl2fs_DataProperty returns [west.twouse.language.owl2fs.DataProperty element = null]
@init{
}
:
	(
		a0_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataProperty();
			}
			if (a0_0 != null) {
				if (a0_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY__ENTITY_IRI), a0_0);
					completedElement(a0_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_15_0_0_0, a0_0);
				copyLocalizationInfos(a0_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_119, 88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_25));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_101, 88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_102, 88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_103, 88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_120, 88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_157, 88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_27));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 88, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_28));
	}
	
;

parse_west_twouse_language_owl2fs_AnnotationProperty returns [west.twouse.language.owl2fs.AnnotationProperty element = null]
@init{
}
:
	(
		a0_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationProperty();
			}
			if (a0_0 != null) {
				if (a0_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_PROPERTY__ENTITY_IRI), a0_0);
					completedElement(a0_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_16_0_0_0, a0_0);
				copyLocalizationInfos(a0_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_121, 89));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 89, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_29));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 89, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_29));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 89, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_29));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 89, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_29));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 89, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_30));
	}
	
;

parse_west_twouse_language_owl2fs_NamedIndividual returns [west.twouse.language.owl2fs.NamedIndividual element = null]
@init{
}
:
	(
		a0_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNamedIndividual();
			}
			if (a0_0 != null) {
				if (a0_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.NAMED_INDIVIDUAL__ENTITY_IRI), a0_0);
					completedElement(a0_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_17_0_0_0, a0_0);
				copyLocalizationInfos(a0_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_122, 90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 90, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 90, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 90, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 90, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_123, 90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_158, 90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_159, 90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 90, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_32));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_160, 90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 90, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
	}
	
;

parse_west_twouse_language_owl2fs_AnnotationAssertion returns [west.twouse.language.owl2fs.AnnotationAssertion element = null]
@init{
}
:
	a0 = 'AnnotationAssertion' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_18_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_161, 91));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_18_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 92, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 92, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_34));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 92, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_34));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 92, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_34));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationAssertion();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_ASSERTION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_18_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 93, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 93, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_34));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 93, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_34));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 93, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_34));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_AnnotationProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationAssertion();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_ASSERTION__ANNOTATION_PROPERTY), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_18_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 94, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_29));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 94, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_29));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 94, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_29));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 94, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_29));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_AnnotationSubject		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationAssertion();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_ASSERTION__ANNOTATION_SUBJECT), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_18_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 95, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_35));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 95, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_35));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 95, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_35));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 95, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_35));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 95, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_35));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_AnnotationValue		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationAssertion();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_ASSERTION__ANNOTATION_VALUE), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_18_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_87, 96));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_18_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 97, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 97));
	}
	
;

parse_west_twouse_language_owl2fs_SubAnnotationPropertyOf returns [west.twouse.language.owl2fs.SubAnnotationPropertyOf element = null]
@init{
}
:
	a0 = 'SubAnnotationPropertyOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubAnnotationPropertyOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_19_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_162, 98));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubAnnotationPropertyOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_19_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 99, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 99, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_36));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 99, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_36));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 99, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_36));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubAnnotationPropertyOf();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.SUB_ANNOTATION_PROPERTY_OF__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_19_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 100, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 100, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_36));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 100, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_36));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 100, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_36));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_AnnotationProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubAnnotationPropertyOf();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SUB_ANNOTATION_PROPERTY_OF__SUB_ANNOTATION_PROPERTY), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_19_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 101, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_37));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 101, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_37));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 101, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_37));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_AnnotationProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubAnnotationPropertyOf();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SUB_ANNOTATION_PROPERTY_OF__SUPER_ANNOTATION_PROPERTY), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_19_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_163, 102));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubAnnotationPropertyOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_19_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 103, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 103));
	}
	
;

parse_west_twouse_language_owl2fs_AnnotationPropertyDomain returns [west.twouse.language.owl2fs.AnnotationPropertyDomain element = null]
@init{
}
:
	a0 = 'AnnotationPropertyDomain' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDomain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_20_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_164, 104));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDomain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_20_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 105, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 105, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_38));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 105, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_38));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 105, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_38));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDomain();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_PROPERTY_DOMAIN__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_20_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 106, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 106, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_38));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 106, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_38));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 106, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_38));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_AnnotationProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDomain();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_PROPERTY_DOMAIN__ANNOTATION_PROPERTY), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_20_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 107, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_39));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 107, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_39));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 107, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_39));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDomain();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_PROPERTY_DOMAIN__IRI), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_20_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_165, 108));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyDomain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_20_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 109, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 109));
	}
	
;

parse_west_twouse_language_owl2fs_AnnotationPropertyRange returns [west.twouse.language.owl2fs.AnnotationPropertyRange element = null]
@init{
}
:
	a0 = 'AnnotationPropertyRange' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyRange();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_21_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_166, 110));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyRange();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_21_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 111, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 111, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_40));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 111, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_40));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 111, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_40));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyRange();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_PROPERTY_RANGE__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_21_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 112, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 112, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_40));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 112, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_40));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 112, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_40));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_AnnotationProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyRange();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_PROPERTY_RANGE__ANNOTATION_PROPERTY), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_21_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 113, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_41));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 113, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_41));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 113, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_41));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyRange();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION_PROPERTY_RANGE__IRI), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_21_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_167, 114));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotationPropertyRange();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_21_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 115, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 115));
	}
	
;

parse_west_twouse_language_owl2fs_Annotation returns [west.twouse.language.owl2fs.Annotation element = null]
@init{
}
:
	a0 = 'Annotation' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotation();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_22_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_168, 116));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotation();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_22_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 117, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_42));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 117, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_43));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 117, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_43));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 117, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_43));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotation();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION__ANNOTATION_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_22_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 118, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_42));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 118, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_43));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 118, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_43));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 118, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_43));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_AnnotationProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotation();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION__ANNOTATION_PROPERTY), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_22_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 119, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_30));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 119, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_30));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 119, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_30));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 119, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_30));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 119, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_30));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_AnnotationValue		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotation();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANNOTATION__ANNOTATION_VALUE), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_22_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_88, 120));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnnotation();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_22_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_3));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_5));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_133, 121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_137, 121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_141, 121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_145, 121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_149, 121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_153, 121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_34));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_34));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_34));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_169, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_156, 121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_170, 121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_171, 121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_172, 121, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_46));
	}
	
;

parse_west_twouse_language_owl2fs_AnonymousIndividual returns [west.twouse.language.owl2fs.AnonymousIndividual element = null]
@init{
}
:
	(
		a0 = NODE		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAnonymousIndividual();
			}
			if (a0 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("NODE");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a0.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANONYMOUS_INDIVIDUAL__NODE_ID), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a0).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a0).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a0).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a0).getStopIndex());
				}
				java.lang.String resolved = (java.lang.String)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ANONYMOUS_INDIVIDUAL__NODE_ID), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_23_0_0_0, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 122, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_35));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 122, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_35));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 122, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_35));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 122, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_35));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 122, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_35));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_88, 122));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_123, 122));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_158, 122));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_160, 122));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 122, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
	}
	
;

parse_west_twouse_language_owl2fs_Literal returns [west.twouse.language.owl2fs.Literal element = null]
@init{
}
:
	(
		a0 = LITERAL		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createLiteral();
			}
			if (a0 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("LITERAL");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a0.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.LITERAL__LEXICAL_VALUE), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a0).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a0).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a0).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a0).getStopIndex());
				}
				java.lang.String resolved = (java.lang.String)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.LITERAL__LEXICAL_VALUE), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_24_0_0_0, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_173, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_174, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_87, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_88, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 123, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_9));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_90, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 123, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 123, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 123, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_91, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_92, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_93, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_94, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_95, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_96, 123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 123, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_20));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_97, 123));
	}
	
	(
		(
			a1 = '^^' {
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createLiteral();
					incompleteObjects.push(element);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_24_0_0_2_0_0_0, null);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
			}
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 124, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_47));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 124, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_47));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 124, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_47));
			}
			
			(
				a2_0 = parse_west_twouse_language_owl2fs_Datatype				{
					if (terminateParsing) {
						throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
					}
					if (element == null) {
						element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createLiteral();
					}
					if (a2_0 != null) {
						if (a2_0 != null) {
							element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.LITERAL__DATATYPE), a2_0);
							completedElement(a2_0, true);
						}
						collectHiddenTokens(element);
						retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_24_0_0_2_0_0_2, a2_0);
						copyLocalizationInfos(a2_0, element);
					}
				}
			)
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_87, 125));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_88, 125));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 125, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_9));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_90, 125));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 125, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 125, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 125, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_91, 125));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_92, 125));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_93, 125));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_94, 125));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_95, 125));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_96, 125));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 125, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_20));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_97, 125));
			}
			
			
			|			(
				a3 = LANGTAG				
				{
					if (terminateParsing) {
						throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
					}
					if (element == null) {
						element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createLiteral();
					}
					if (a3 != null) {
						west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("LANGTAG");
						tokenResolver.setOptions(getOptions());
						west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
						tokenResolver.resolve(a3.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.LITERAL__LANGUAGE_TAG), result);
						java.lang.Object resolvedObject = result.getResolvedToken();
						if (resolvedObject == null) {
							addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a3).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a3).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a3).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a3).getStopIndex());
						}
						java.lang.String resolved = (java.lang.String)resolvedObject;
						if (resolved != null) {
							element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.LITERAL__LANGUAGE_TAG), resolved);
							completedElement(resolved, false);
						}
						collectHiddenTokens(element);
						retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_24_0_0_2_0_1_0, resolved);
						copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a3, element);
					}
				}
			)
			{
				// expected elements (follow set)
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_87, 126));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_88, 126));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 126, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_9));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_90, 126));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 126, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 126, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 126, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_91, 126));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_92, 126));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_93, 126));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_94, 126));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_95, 126));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_96, 126));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 126, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_20));
				addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_97, 126));
			}
			
		)
		
	)?	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_87, 127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_88, 127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 127, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_9));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_90, 127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 127, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 127, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 127, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_91, 127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_92, 127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_93, 127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_94, 127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_95, 127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_96, 127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 127, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_20));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_97, 127));
	}
	
;

parse_west_twouse_language_owl2fs_InverseObjectProperty returns [west.twouse.language.owl2fs.InverseObjectProperty element = null]
@init{
}
:
	a0 = 'ObjectInverseOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_25_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_175, 128));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_25_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 129, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_48));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 129, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_48));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 129, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_48));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ObjectProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseObjectProperty();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.INVERSE_OBJECT_PROPERTY__OBJECT_PROPERTY), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_25_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_109, 130));
	}
	
	a3 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_25_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_22));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_110, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_112, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_113, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_114, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_115, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_116, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_117, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_118, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_156, 131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 131, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_23));
	}
	
;

parse_west_twouse_language_owl2fs_DataComplementOf returns [west.twouse.language.owl2fs.DataComplementOf element = null]
@init{
}
:
	a0 = 'DataComplementOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataComplementOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_26_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_176, 132));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataComplementOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_26_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 133, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_49));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 133, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_49));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 133, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_49));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 133, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_49));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 133, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_49));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 133, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_49));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_DataRange		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataComplementOf();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_COMPLEMENT_OF__DATA_RANGE), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_26_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_98, 134));
	}
	
	a3 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataComplementOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_26_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_98, 135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_99, 135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_100, 135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_101, 135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_102, 135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_103, 135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_104, 135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_177, 135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 135, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_50));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 135, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_50));
	}
	
;

parse_west_twouse_language_owl2fs_DataOneOf returns [west.twouse.language.owl2fs.DataOneOf element = null]
@init{
}
:
	a0 = 'DataOneOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataOneOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_27_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_178, 136));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataOneOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_27_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 137, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_9));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Literal			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataOneOf();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DATA_ONE_OF__CONSTANTS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_27_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 138, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_9));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_90, 138));
	}
	
	a3 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataOneOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_27_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_98, 139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_99, 139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_100, 139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_101, 139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_102, 139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_103, 139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_104, 139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_177, 139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 139, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_50));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 139, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_50));
	}
	
;

parse_west_twouse_language_owl2fs_DatatypeRestriction returns [west.twouse.language.owl2fs.DatatypeRestriction element = null]
@init{
}
:
	a0 = 'DatatypeRestriction' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeRestriction();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_28_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_179, 140));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeRestriction();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_28_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 141, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_51));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 141, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_51));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 141, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_51));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_Datatype		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeRestriction();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATATYPE_RESTRICTION__DATATYPE), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_28_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 142, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 142, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 142, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
	}
	
	(
		(
			a3_0 = parse_west_twouse_language_owl2fs_FacetConstraintPair			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeRestriction();
				}
				if (a3_0 != null) {
					if (a3_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DATATYPE_RESTRICTION__RESTRICTIONS, a3_0);
						completedElement(a3_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_28_0_0_3, a3_0);
					copyLocalizationInfos(a3_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 143, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 143, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 143, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_91, 143));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeRestriction();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_28_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_98, 144));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_99, 144));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_100, 144));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_101, 144));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_102, 144));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_103, 144));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_104, 144));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_177, 144));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 144, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_50));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 144, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_50));
	}
	
;

parse_west_twouse_language_owl2fs_FacetConstraintPair returns [west.twouse.language.owl2fs.FacetConstraintPair element = null]
@init{
}
:
	(
		a0_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFacetConstraintPair();
			}
			if (a0_0 != null) {
				if (a0_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.FACET_CONSTRAINT_PAIR__FACET), a0_0);
					completedElement(a0_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_29_0_0_0, a0_0);
				copyLocalizationInfos(a0_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 145, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_52));
	}
	
	(
		a1_0 = parse_west_twouse_language_owl2fs_Literal		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFacetConstraintPair();
			}
			if (a1_0 != null) {
				if (a1_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.FACET_CONSTRAINT_PAIR__CONSTANT), a1_0);
					completedElement(a1_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_29_0_0_1, a1_0);
				copyLocalizationInfos(a1_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 146, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 146, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 146, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_18, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_19));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_91, 146));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectIntersectionOf returns [west.twouse.language.owl2fs.ObjectIntersectionOf element = null]
@init{
}
:
	a0 = 'ObjectIntersectionOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectIntersectionOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_30_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_180, 147));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectIntersectionOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_30_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 148, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectIntersectionOf();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_INTERSECTION_OF__CLASS_EXPRESSIONS, a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_30_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 149, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
	}
	
	(
		(
			a3_0 = parse_west_twouse_language_owl2fs_ClassExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectIntersectionOf();
				}
				if (a3_0 != null) {
					if (a3_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_INTERSECTION_OF__CLASS_EXPRESSIONS, a3_0);
						completedElement(a3_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_30_0_0_3, a3_0);
					copyLocalizationInfos(a3_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 150, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_181, 150));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectIntersectionOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_30_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 151));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 151));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 151));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 151));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 151));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 151));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 151));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 151));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 151));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 151));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 151, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectUnionOf returns [west.twouse.language.owl2fs.ObjectUnionOf element = null]
@init{
}
:
	a0 = 'ObjectUnionOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectUnionOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_31_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_182, 152));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectUnionOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_31_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 153, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectUnionOf();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_UNION_OF__CLASS_EXPRESSIONS, a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_31_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 154, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
	}
	
	(
		(
			a3_0 = parse_west_twouse_language_owl2fs_ClassExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectUnionOf();
				}
				if (a3_0 != null) {
					if (a3_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_UNION_OF__CLASS_EXPRESSIONS, a3_0);
						completedElement(a3_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_31_0_0_3, a3_0);
					copyLocalizationInfos(a3_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 155, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_53));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_183, 155));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectUnionOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_31_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 156));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 156));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 156));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 156));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 156));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 156));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 156));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 156));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 156));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 156));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 156, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectComplementOf returns [west.twouse.language.owl2fs.ObjectComplementOf element = null]
@init{
}
:
	a0 = 'ObjectComplementOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectComplementOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_32_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_184, 157));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectComplementOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_32_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 158, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_54));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectComplementOf();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_COMPLEMENT_OF__CLASS_EXPRESSION), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_32_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 159));
	}
	
	a3 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectComplementOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_32_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 160));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 160));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 160));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 160));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 160));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 160));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 160));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 160));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 160));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 160));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 160, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectOneOf returns [west.twouse.language.owl2fs.ObjectOneOf element = null]
@init{
}
:
	a0 = 'ObjectOneOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectOneOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_33_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_185, 161));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectOneOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_33_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 162, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 162, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 162, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 162, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Individual			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectOneOf();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_ONE_OF__INDIVIDUALS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_33_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 163, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 163, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 163, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 163, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_31));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_123, 163));
	}
	
	a3 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectOneOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_33_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 164));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 164));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 164));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 164));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 164));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 164));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 164));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 164));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 164));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 164));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 164, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectSomeValuesFrom returns [west.twouse.language.owl2fs.ObjectSomeValuesFrom element = null]
@init{
}
:
	a0 = 'ObjectSomeValuesFrom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectSomeValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_34_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_186, 165));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectSomeValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_34_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 166, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_55));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 166, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_55));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 166, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_55));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 166, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_55));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectSomeValuesFrom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_SOME_VALUES_FROM__OBJECT_PROPERTY_EXPRESSION), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_34_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 167, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_21));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectSomeValuesFrom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_SOME_VALUES_FROM__CLASS_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_34_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 168));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectSomeValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_34_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 169));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 169));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 169));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 169));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 169));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 169));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 169));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 169));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 169));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 169));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 169, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectAllValuesFrom returns [west.twouse.language.owl2fs.ObjectAllValuesFrom element = null]
@init{
}
:
	a0 = 'ObjectAllValuesFrom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectAllValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_35_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_187, 170));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectAllValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_35_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 171, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_56));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 171, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_56));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 171, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_56));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 171, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_56));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectAllValuesFrom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_ALL_VALUES_FROM__OBJECT_PROPERTY_EXPRESSION), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_35_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 172, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_57));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectAllValuesFrom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_ALL_VALUES_FROM__CLASS_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_35_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 173));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectAllValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_35_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 174));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 174));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 174));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 174));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 174));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 174));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 174));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 174));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 174));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 174));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 174, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectHasValue returns [west.twouse.language.owl2fs.ObjectHasValue element = null]
@init{
}
:
	a0 = 'ObjectHasValue' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectHasValue();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_36_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_188, 175));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectHasValue();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_36_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 176, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_58));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 176, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_58));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 176, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_58));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 176, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_58));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectHasValue();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_HAS_VALUE__OBJECT_PROPERTY_EXPRESSION), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_36_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 177, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_22));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 177, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_22));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 177, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_22));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 177, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_22));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_Individual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectHasValue();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_HAS_VALUE__INDIVIDUAL), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_36_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_158, 178));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectHasValue();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_36_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 179));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 179));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 179));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 179));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 179));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 179));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 179));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 179));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 179));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 179));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 179, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectHasSelf returns [west.twouse.language.owl2fs.ObjectHasSelf element = null]
@init{
}
:
	a0 = 'ObjectHasSelf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectHasSelf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_37_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_189, 180));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectHasSelf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_37_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 181, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_59));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 181, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_59));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 181, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_59));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 181, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_59));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectHasSelf();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_HAS_SELF__OBJECT_PROPERTY_EXPRESSION), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_37_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_110, 182));
	}
	
	a3 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectHasSelf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_37_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 183));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 183));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 183));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 183));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 183));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 183));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 183));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 183));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 183));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 183));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 183, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectMinCardinality returns [west.twouse.language.owl2fs.ObjectMinCardinality element = null]
@init{
}
:
	a0 = 'ObjectMinCardinality' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMinCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_38_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_190, 184));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMinCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_38_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_191, 185));
	}
	
	(
		a2 = INTEGER		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMinCardinality();
			}
			if (a2 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("INTEGER");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a2.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_MIN_CARDINALITY__CARDINALITY), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a2).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStopIndex());
				}
				java.lang.Integer resolved = (java.lang.Integer)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_MIN_CARDINALITY__CARDINALITY), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_38_0_0_2, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a2, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 186, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_60));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 186, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_60));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 186, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_60));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 186, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_60));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMinCardinality();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_MIN_CARDINALITY__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_38_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 187, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_61));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 187));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_ClassExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMinCardinality();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_MIN_CARDINALITY__CLASS_EXPRESSION), a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_38_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)?	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 188));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMinCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_38_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 189));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 189));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 189));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 189));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 189));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 189));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 189));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 189));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 189));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 189));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 189, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectMaxCardinality returns [west.twouse.language.owl2fs.ObjectMaxCardinality element = null]
@init{
}
:
	a0 = 'ObjectMaxCardinality' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMaxCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_39_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_192, 190));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMaxCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_39_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_193, 191));
	}
	
	(
		a2 = INTEGER		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMaxCardinality();
			}
			if (a2 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("INTEGER");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a2.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_MAX_CARDINALITY__CARDINALITY), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a2).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStopIndex());
				}
				java.lang.Integer resolved = (java.lang.Integer)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_MAX_CARDINALITY__CARDINALITY), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_39_0_0_2, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a2, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 192, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_62));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 192, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_62));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 192, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_62));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 192, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_62));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMaxCardinality();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_MAX_CARDINALITY__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_39_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 193, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_63));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 193));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_ClassExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMaxCardinality();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_MAX_CARDINALITY__CLASS_EXPRESSION), a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_39_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)?	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 194));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectMaxCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_39_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 195));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 195));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 195));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 195));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 195));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 195));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 195));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 195));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 195));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 195));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 195, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectExactCardinality returns [west.twouse.language.owl2fs.ObjectExactCardinality element = null]
@init{
}
:
	a0 = 'ObjectExactCardinality' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectExactCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_40_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_194, 196));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectExactCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_40_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_195, 197));
	}
	
	(
		a2 = INTEGER		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectExactCardinality();
			}
			if (a2 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("INTEGER");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a2.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_EXACT_CARDINALITY__CARDINALITY), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a2).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStopIndex());
				}
				java.lang.Integer resolved = (java.lang.Integer)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_EXACT_CARDINALITY__CARDINALITY), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_40_0_0_2, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a2, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 198, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_64));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 198, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_64));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 198, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_64));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 198, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_64));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectExactCardinality();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_EXACT_CARDINALITY__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_40_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 199, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_65));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 199));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_ClassExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectExactCardinality();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_EXACT_CARDINALITY__CLASS_EXPRESSION), a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_40_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)?	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 200));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectExactCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_40_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 201));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 201));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 201));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 201));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 201));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 201));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 201));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 201));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 201));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 201));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 201, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_DataSomeValuesFrom returns [west.twouse.language.owl2fs.DataSomeValuesFrom element = null]
@init{
}
:
	a0 = 'DataSomeValuesFrom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataSomeValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_41_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_196, 202));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataSomeValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_41_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 203, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_66));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 203, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_66));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 203, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_66));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataSomeValuesFrom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DATA_SOME_VALUES_FROM__DATA_PROPERTY_EXPRESSIONS, a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_41_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 204, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 204, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 204, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 204, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 204, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 204, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_24));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataRange		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataSomeValuesFrom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_SOME_VALUES_FROM__DATA_RANGE), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_41_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_99, 205));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataSomeValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_41_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 206));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 206));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 206));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 206));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 206));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 206));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 206));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 206));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 206));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 206));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 206, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_DataAllValuesFrom returns [west.twouse.language.owl2fs.DataAllValuesFrom element = null]
@init{
}
:
	a0 = 'DataAllValuesFrom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataAllValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_42_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_197, 207));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataAllValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_42_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 208, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_67));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 208, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_67));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 208, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_67));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataAllValuesFrom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DATA_ALL_VALUES_FROM__DATA_PROPERTY_EXPRESSIONS, a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_42_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 209, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_68));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 209, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_68));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 209, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_68));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 209, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_68));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 209, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_68));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 209, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_68));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataRange		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataAllValuesFrom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_ALL_VALUES_FROM__DATA_RANGE), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_42_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_100, 210));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataAllValuesFrom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_42_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 211));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 211));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 211));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 211));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 211));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 211));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 211));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 211));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 211));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 211));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 211, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_DataHasValue returns [west.twouse.language.owl2fs.DataHasValue element = null]
@init{
}
:
	a0 = 'DataHasValue' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataHasValue();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_43_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_198, 212));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataHasValue();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_43_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 213, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_69));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 213, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_69));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 213, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_69));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataHasValue();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_HAS_VALUE__DATA_PROPERTY_EXPRESSION), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_43_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 214, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_25));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_Literal		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataHasValue();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_HAS_VALUE__CONSTANT), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_43_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_92, 215));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataHasValue();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_43_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 216));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 216));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 216));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 216));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 216));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 216));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 216));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 216));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 216));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 216));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 216, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_DataMinCardinality returns [west.twouse.language.owl2fs.DataMinCardinality element = null]
@init{
}
:
	a0 = 'DataMinCardinality' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMinCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_44_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_199, 217));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMinCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_44_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_200, 218));
	}
	
	(
		a2 = INTEGER		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMinCardinality();
			}
			if (a2 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("INTEGER");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a2.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_MIN_CARDINALITY__CARDINALITY), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a2).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStopIndex());
				}
				java.lang.Integer resolved = (java.lang.Integer)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_MIN_CARDINALITY__CARDINALITY), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_44_0_0_2, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a2, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 219, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_70));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 219, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_70));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 219, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_70));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMinCardinality();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_MIN_CARDINALITY__DATA_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_44_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 220, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_71));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 220, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_71));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 220, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_71));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 220, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_71));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 220, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_71));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 220, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_71));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_101, 220));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_DataRange			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMinCardinality();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_MIN_CARDINALITY__DATA_RANGE), a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_44_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)?	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_101, 221));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMinCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_44_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 222));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 222));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 222));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 222));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 222));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 222));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 222));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 222));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 222));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 222));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 222, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_DataMaxCardinality returns [west.twouse.language.owl2fs.DataMaxCardinality element = null]
@init{
}
:
	a0 = 'DataMaxCardinality' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMaxCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_45_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_201, 223));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMaxCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_45_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_202, 224));
	}
	
	(
		a2 = INTEGER		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMaxCardinality();
			}
			if (a2 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("INTEGER");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a2.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_MAX_CARDINALITY__CARDINALITY), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a2).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStopIndex());
				}
				java.lang.Integer resolved = (java.lang.Integer)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_MAX_CARDINALITY__CARDINALITY), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_45_0_0_2, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a2, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 225, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_72));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 225, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_72));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 225, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_72));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMaxCardinality();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_MAX_CARDINALITY__DATA_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_45_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 226, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_73));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 226, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_73));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 226, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_73));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 226, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_73));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 226, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_73));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 226, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_73));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_102, 226));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_DataRange			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMaxCardinality();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_MAX_CARDINALITY__DATA_RANGE), a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_45_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)?	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_102, 227));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataMaxCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_45_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 228));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 228));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 228));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 228));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 228));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 228));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 228));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 228));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 228));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 228));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 228, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_DataExactCardinality returns [west.twouse.language.owl2fs.DataExactCardinality element = null]
@init{
}
:
	a0 = 'DataExactCardinality' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataExactCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_46_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_203, 229));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataExactCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_46_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_204, 230));
	}
	
	(
		a2 = INTEGER		
		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataExactCardinality();
			}
			if (a2 != null) {
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolver tokenResolver = tokenResolverFactory.createTokenResolver("INTEGER");
				tokenResolver.setOptions(getOptions());
				west.twouse.language.owl2fs.resource.owl2fs.IOwl2fsTokenResolveResult result = getFreshTokenResolveResult();
				tokenResolver.resolve(a2.getText(), element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_EXACT_CARDINALITY__CARDINALITY), result);
				java.lang.Object resolvedObject = result.getResolvedToken();
				if (resolvedObject == null) {
					addErrorToResource(result.getErrorMessage(), ((org.antlr.runtime3_2_0.CommonToken) a2).getLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getCharPositionInLine(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStartIndex(), ((org.antlr.runtime3_2_0.CommonToken) a2).getStopIndex());
				}
				java.lang.Integer resolved = (java.lang.Integer)resolvedObject;
				if (resolved != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_EXACT_CARDINALITY__CARDINALITY), resolved);
					completedElement(resolved, false);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_46_0_0_2, resolved);
				copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken) a2, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 231, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_74));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 231, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_74));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 231, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_74));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataExactCardinality();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_EXACT_CARDINALITY__DATA_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_46_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 232, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_75));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 232, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_75));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 232, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_75));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 232, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_75));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 232, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_75));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 232, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_75));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_103, 232));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_DataRange			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataExactCardinality();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_EXACT_CARDINALITY__DATA_RANGE), a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_46_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)?	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_103, 233));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataExactCardinality();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_46_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_7));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_73, 234));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_74, 234));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_75, 234));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_76, 234));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_77, 234));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_78, 234));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 234));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 234));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 234));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 234));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 234, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
;

parse_west_twouse_language_owl2fs_SubClassOf returns [west.twouse.language.owl2fs.SubClassOf element = null]
@init{
}
:
	a0 = 'SubClassOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubClassOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_47_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_205, 235));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubClassOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_47_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 236, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubClassOf();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.SUB_CLASS_OF__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_47_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 237, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_44));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubClassOf();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SUB_CLASS_OF__SUB_CLASS_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_47_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 238, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_76));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubClassOf();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SUB_CLASS_OF__SUPER_CLASS_EXPRESSION), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_47_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_206, 239));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubClassOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_47_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 240, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 240));
	}
	
;

parse_west_twouse_language_owl2fs_EquivalentClasses returns [west.twouse.language.owl2fs.EquivalentClasses element = null]
@init{
}
:
	a0 = 'EquivalentClasses' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentClasses();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_48_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_207, 241));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentClasses();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_48_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 242, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentClasses();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.EQUIVALENT_CLASSES__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_48_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 243, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentClasses();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.EQUIVALENT_CLASSES__EQUIVALENT_CLASS_EXPRESSIONS, a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_48_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 244, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_ClassExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentClasses();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.EQUIVALENT_CLASSES__EQUIVALENT_CLASS_EXPRESSIONS, a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_48_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 245, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_77));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_208, 245));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentClasses();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_48_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 246, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 246));
	}
	
;

parse_west_twouse_language_owl2fs_DisjointClasses returns [west.twouse.language.owl2fs.DisjointClasses element = null]
@init{
}
:
	a0 = 'DisjointClasses' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointClasses();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_49_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_209, 247));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointClasses();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_49_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 248, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointClasses();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_CLASSES__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_49_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 249, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointClasses();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_CLASSES__DISJOINT_CLASS_EXPRESSIONS, a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_49_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 250, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_ClassExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointClasses();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_CLASSES__DISJOINT_CLASS_EXPRESSIONS, a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_49_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 251, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_78));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_210, 251));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointClasses();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_49_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 252, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 252));
	}
	
;

parse_west_twouse_language_owl2fs_DisjointUnion returns [west.twouse.language.owl2fs.DisjointUnion element = null]
@init{
}
:
	a0 = 'DisjointUnion' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointUnion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_50_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_211, 253));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointUnion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_50_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 254, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 254, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_79));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 254, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_79));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 254, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_79));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointUnion();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_UNION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_50_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 255, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 255, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_79));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 255, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_79));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 255, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_79));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_Class		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointUnion();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_UNION__UNION_CLASS), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_50_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 256, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointUnion();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_UNION__DISJOINT_CLASS_EXPRESSIONS, a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_50_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 257, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
	}
	
	(
		(
			a5_0 = parse_west_twouse_language_owl2fs_ClassExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointUnion();
				}
				if (a5_0 != null) {
					if (a5_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_UNION__DISJOINT_CLASS_EXPRESSIONS, a5_0);
						completedElement(a5_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_50_0_0_5, a5_0);
					copyLocalizationInfos(a5_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 258, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_80));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_212, 258));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointUnion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_50_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 259, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 259));
	}
	
;

parse_west_twouse_language_owl2fs_SubObjectPropertyOf returns [west.twouse.language.owl2fs.SubObjectPropertyOf element = null]
@init{
}
:
	a0 = 'SubObjectPropertyOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubObjectPropertyOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_51_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_213, 260));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubObjectPropertyOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_51_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 261, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 261, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 261, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 261, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 261, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_169, 261, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubObjectPropertyOf();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.SUB_OBJECT_PROPERTY_OF__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_51_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 262, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 262, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 262, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 262, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 262, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_169, 262, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_45));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_SubObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubObjectPropertyOf();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SUB_OBJECT_PROPERTY_OF__SUB_OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_51_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 263, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 263, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 263, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 263, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubObjectPropertyOf();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SUB_OBJECT_PROPERTY_OF__SUPER_OBJECT_PROPERTY_EXPRESSION), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_51_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_214, 264));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubObjectPropertyOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_51_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 265, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 265));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectPropertyChain returns [west.twouse.language.owl2fs.ObjectPropertyChain element = null]
@init{
}
:
	a0 = 'ObjectPropertyChain' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyChain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_52_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_215, 266));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyChain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_52_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 267, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 267, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 267, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 267, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyChain();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_CHAIN__OBJECT_PROPERTY_EXPRESSIONS, a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_52_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 268, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 268, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 268, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 268, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
	}
	
	(
		(
			a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyChain();
				}
				if (a3_0 != null) {
					if (a3_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_CHAIN__OBJECT_PROPERTY_EXPRESSIONS, a3_0);
						completedElement(a3_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_52_0_0_3, a3_0);
					copyLocalizationInfos(a3_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 269, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 269, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 269, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 269, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_81));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_216, 269));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyChain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_52_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 270, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 270, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 270, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 270, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_11));
	}
	
;

parse_west_twouse_language_owl2fs_EquivalentObjectProperties returns [west.twouse.language.owl2fs.EquivalentObjectProperties element = null]
@init{
}
:
	a0 = 'EquivalentObjectProperties' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentObjectProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_53_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_217, 271));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentObjectProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_53_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 272, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 272, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 272, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 272, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 272, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentObjectProperties();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.EQUIVALENT_OBJECT_PROPERTIES__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_53_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 273, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 273, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 273, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 273, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 273, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentObjectProperties();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.EQUIVALENT_OBJECT_PROPERTIES__OBJECT_PROPERTY_EXPRESSIONS, a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_53_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 274, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 274, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 274, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 274, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentObjectProperties();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.EQUIVALENT_OBJECT_PROPERTIES__OBJECT_PROPERTY_EXPRESSIONS, a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_53_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 275, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 275, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 275, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 275, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_82));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_218, 275));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentObjectProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_53_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 276, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 276));
	}
	
;

parse_west_twouse_language_owl2fs_DisjointObjectProperties returns [west.twouse.language.owl2fs.DisjointObjectProperties element = null]
@init{
}
:
	a0 = 'DisjointObjectProperties' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointObjectProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_54_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_219, 277));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointObjectProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_54_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 278, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 278, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 278, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 278, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 278, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointObjectProperties();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_OBJECT_PROPERTIES__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_54_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 279, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 279, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 279, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 279, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 279, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointObjectProperties();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_OBJECT_PROPERTIES__OBJECT_PROPERTY_EXPRESSIONS, a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_54_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 280, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 280, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 280, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 280, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointObjectProperties();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_OBJECT_PROPERTIES__OBJECT_PROPERTY_EXPRESSIONS, a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_54_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 281, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 281, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 281, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 281, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_83));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_220, 281));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointObjectProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_54_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 282, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 282));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectPropertyDomain returns [west.twouse.language.owl2fs.ObjectPropertyDomain element = null]
@init{
}
:
	a0 = 'ObjectPropertyDomain' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDomain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_55_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_221, 283));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDomain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_55_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 284, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 284, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_84));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 284, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_84));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 284, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_84));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 284, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_84));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDomain();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_DOMAIN__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_55_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 285, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 285, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_84));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 285, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_84));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 285, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_84));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 285, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_84));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDomain();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_DOMAIN__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_55_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 286, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_85));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDomain();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_DOMAIN__DOMAIN), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_55_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_79, 287));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyDomain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_55_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 288, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 288));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectPropertyRange returns [west.twouse.language.owl2fs.ObjectPropertyRange element = null]
@init{
}
:
	a0 = 'ObjectPropertyRange' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyRange();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_56_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_222, 289));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyRange();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_56_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 290, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 290, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 290, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 290, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 290, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_86));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyRange();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_RANGE__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_56_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 291, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 291, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 291, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 291, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_86));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 291, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_86));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyRange();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_RANGE__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_56_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 292, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_87));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyRange();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_RANGE__RANGE), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_56_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_80, 293));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyRange();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_56_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 294, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 294));
	}
	
;

parse_west_twouse_language_owl2fs_InverseObjectProperties returns [west.twouse.language.owl2fs.InverseObjectProperties element = null]
@init{
}
:
	a0 = 'InverseObjectProperties' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseObjectProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_57_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_223, 295));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseObjectProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_57_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 296, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 296, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 296, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 296, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 296, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_88));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseObjectProperties();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.INVERSE_OBJECT_PROPERTIES__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_57_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 297, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 297, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 297, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 297, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_88));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 297, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_88));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseObjectProperties();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.INVERSE_OBJECT_PROPERTIES__OBJECT_PROPERTY_EXPRESSION1), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_57_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 298, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_89));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 298, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_89));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 298, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_89));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 298, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_89));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseObjectProperties();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.INVERSE_OBJECT_PROPERTIES__OBJECT_PROPERTY_EXPRESSION2), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_57_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_224, 299));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseObjectProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_57_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 300, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 300));
	}
	
;

parse_west_twouse_language_owl2fs_FunctionalObjectProperty returns [west.twouse.language.owl2fs.FunctionalObjectProperty element = null]
@init{
}
:
	a0 = 'FunctionalObjectProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFunctionalObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_58_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_225, 301));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFunctionalObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_58_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 302, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 302, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 302, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 302, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 302, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_90));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFunctionalObjectProperty();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.FUNCTIONAL_OBJECT_PROPERTY__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_58_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 303, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 303, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 303, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 303, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_90));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 303, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_90));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFunctionalObjectProperty();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.FUNCTIONAL_OBJECT_PROPERTY__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_58_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_112, 304));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFunctionalObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_58_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 305, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 305));
	}
	
;

parse_west_twouse_language_owl2fs_InverseFunctionalObjectProperty returns [west.twouse.language.owl2fs.InverseFunctionalObjectProperty element = null]
@init{
}
:
	a0 = 'InverseFunctionalObjectProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseFunctionalObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_59_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_226, 306));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseFunctionalObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_59_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 307, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 307, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_91));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 307, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_91));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 307, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_91));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 307, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_91));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseFunctionalObjectProperty();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.INVERSE_FUNCTIONAL_OBJECT_PROPERTY__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_59_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 308, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 308, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_91));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 308, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_91));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 308, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_91));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 308, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_91));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseFunctionalObjectProperty();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.INVERSE_FUNCTIONAL_OBJECT_PROPERTY__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_59_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_113, 309));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createInverseFunctionalObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_59_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 310, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 310));
	}
	
;

parse_west_twouse_language_owl2fs_ReflexiveObjectProperty returns [west.twouse.language.owl2fs.ReflexiveObjectProperty element = null]
@init{
}
:
	a0 = 'ReflexiveObjectProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createReflexiveObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_60_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_227, 311));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createReflexiveObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_60_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 312, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 312, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_92));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 312, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_92));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 312, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_92));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 312, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_92));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createReflexiveObjectProperty();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.REFLEXIVE_OBJECT_PROPERTY__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_60_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 313, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 313, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_92));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 313, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_92));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 313, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_92));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 313, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_92));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createReflexiveObjectProperty();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.REFLEXIVE_OBJECT_PROPERTY__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_60_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_114, 314));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createReflexiveObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_60_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 315, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 315));
	}
	
;

parse_west_twouse_language_owl2fs_IrreflexiveObjectProperty returns [west.twouse.language.owl2fs.IrreflexiveObjectProperty element = null]
@init{
}
:
	a0 = 'IrreflexiveObjectProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createIrreflexiveObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_61_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_228, 316));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createIrreflexiveObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_61_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 317, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 317, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_93));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 317, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_93));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 317, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_93));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 317, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_93));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createIrreflexiveObjectProperty();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.IRREFLEXIVE_OBJECT_PROPERTY__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_61_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 318, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 318, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_93));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 318, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_93));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 318, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_93));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 318, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_93));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createIrreflexiveObjectProperty();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.IRREFLEXIVE_OBJECT_PROPERTY__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_61_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_115, 319));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createIrreflexiveObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_61_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 320, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 320));
	}
	
;

parse_west_twouse_language_owl2fs_SymmetricObjectProperty returns [west.twouse.language.owl2fs.SymmetricObjectProperty element = null]
@init{
}
:
	a0 = 'SymmetricObjectProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSymmetricObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_62_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_229, 321));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSymmetricObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_62_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 322, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 322, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_94));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 322, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_94));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 322, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_94));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 322, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_94));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSymmetricObjectProperty();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.SYMMETRIC_OBJECT_PROPERTY__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_62_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 323, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 323, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_94));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 323, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_94));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 323, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_94));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 323, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_94));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSymmetricObjectProperty();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SYMMETRIC_OBJECT_PROPERTY__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_62_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_116, 324));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSymmetricObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_62_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 325, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 325));
	}
	
;

parse_west_twouse_language_owl2fs_AsymmetricObjectProperty returns [west.twouse.language.owl2fs.AsymmetricObjectProperty element = null]
@init{
}
:
	a0 = 'AntiSymmetricObjectProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAsymmetricObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_63_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_230, 326));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAsymmetricObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_63_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 327, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 327, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_95));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 327, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_95));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 327, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_95));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 327, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_95));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAsymmetricObjectProperty();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.ASYMMETRIC_OBJECT_PROPERTY__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_63_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 328, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 328, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_95));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 328, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_95));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 328, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_95));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 328, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_95));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAsymmetricObjectProperty();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.ASYMMETRIC_OBJECT_PROPERTY__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_63_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_117, 329));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createAsymmetricObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_63_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 330, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 330));
	}
	
;

parse_west_twouse_language_owl2fs_TransitiveObjectProperty returns [west.twouse.language.owl2fs.TransitiveObjectProperty element = null]
@init{
}
:
	a0 = 'TransitiveObjectProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createTransitiveObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_64_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_231, 331));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createTransitiveObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_64_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 332, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 332, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_96));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 332, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_96));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 332, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_96));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 332, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_96));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createTransitiveObjectProperty();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.TRANSITIVE_OBJECT_PROPERTY__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_64_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 333, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 333, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_96));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 333, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_96));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 333, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_96));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 333, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_96));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createTransitiveObjectProperty();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.TRANSITIVE_OBJECT_PROPERTY__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_64_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_118, 334));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createTransitiveObjectProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_64_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 335, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 335));
	}
	
;

parse_west_twouse_language_owl2fs_SubDataPropertyOf returns [west.twouse.language.owl2fs.SubDataPropertyOf element = null]
@init{
}
:
	a0 = 'SubDataPropertyOf' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubDataPropertyOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_65_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_232, 336));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubDataPropertyOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_65_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 337, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 337, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_97));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 337, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_97));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 337, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_97));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubDataPropertyOf();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.SUB_DATA_PROPERTY_OF__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_65_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 338, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 338, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_97));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 338, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_97));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 338, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_97));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubDataPropertyOf();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SUB_DATA_PROPERTY_OF__SUB_DATA_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_65_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 339, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_98));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 339, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_98));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 339, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_98));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubDataPropertyOf();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SUB_DATA_PROPERTY_OF__SUPER_DATA_PROPERTY_EXPRESSION), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_65_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_233, 340));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSubDataPropertyOf();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_65_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 341, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 341));
	}
	
;

parse_west_twouse_language_owl2fs_EquivalentDataProperties returns [west.twouse.language.owl2fs.EquivalentDataProperties element = null]
@init{
}
:
	a0 = 'EquivalentDataProperties' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentDataProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_66_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_234, 342));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentDataProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_66_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 343, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 343, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 343, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 343, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentDataProperties();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.EQUIVALENT_DATA_PROPERTIES__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_66_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 344, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 344, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 344, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 344, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentDataProperties();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.EQUIVALENT_DATA_PROPERTIES__DATA_PROPERTY_EXPRESSIONS, a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_66_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 345, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 345, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 345, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentDataProperties();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.EQUIVALENT_DATA_PROPERTIES__DATA_PROPERTY_EXPRESSIONS, a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_66_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 346, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 346, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 346, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_99));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_235, 346));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEquivalentDataProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_66_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 347, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 347));
	}
	
;

parse_west_twouse_language_owl2fs_DisjointDataProperties returns [west.twouse.language.owl2fs.DisjointDataProperties element = null]
@init{
}
:
	a0 = 'DisjointDataProperties' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointDataProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_67_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_236, 348));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointDataProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_67_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 349, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 349, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 349, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 349, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointDataProperties();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_DATA_PROPERTIES__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_67_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 350, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 350, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 350, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 350, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointDataProperties();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_DATA_PROPERTIES__DATA_PROPERTY_EXPRESSIONS, a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_67_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 351, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 351, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 351, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointDataProperties();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DISJOINT_DATA_PROPERTIES__DATA_PROPERTY_EXPRESSIONS, a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_67_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 352, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 352, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 352, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_100));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_237, 352));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDisjointDataProperties();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_67_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 353, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 353));
	}
	
;

parse_west_twouse_language_owl2fs_DataPropertyDomain returns [west.twouse.language.owl2fs.DataPropertyDomain element = null]
@init{
}
:
	a0 = 'DataPropertyDomain' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDomain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_68_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_238, 354));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDomain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_68_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 355, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 355, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_101));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 355, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_101));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 355, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_101));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDomain();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_DOMAIN__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_68_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 356, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 356, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_101));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 356, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_101));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 356, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_101));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDomain();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_DOMAIN__DATA_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_68_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 357, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_26));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDomain();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_DOMAIN__DOMAIN), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_68_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_81, 358));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyDomain();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_68_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 359, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 359));
	}
	
;

parse_west_twouse_language_owl2fs_DataPropertyRange returns [west.twouse.language.owl2fs.DataPropertyRange element = null]
@init{
}
:
	a0 = 'DataPropertyRange' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyRange();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_69_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_239, 360));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyRange();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_69_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 361, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 361, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_102));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 361, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_102));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 361, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_102));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyRange();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_RANGE__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_69_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 362, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 362, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_102));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 362, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_102));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 362, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_102));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyRange();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_RANGE__DATA_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_69_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 363, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_103));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 363, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_103));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 363, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_103));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 363, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_103));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 363, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_103));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 363, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_103));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_DataRange		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyRange();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_RANGE__RANGE), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_69_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_104, 364));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyRange();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_69_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 365, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 365));
	}
	
;

parse_west_twouse_language_owl2fs_FunctionalDataProperty returns [west.twouse.language.owl2fs.FunctionalDataProperty element = null]
@init{
}
:
	a0 = 'FunctionalDataProperty' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFunctionalDataProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_70_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_240, 366));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFunctionalDataProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_70_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 367, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 367, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_104));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 367, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_104));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 367, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_104));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFunctionalDataProperty();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.FUNCTIONAL_DATA_PROPERTY__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_70_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 368, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 368, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_104));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 368, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_104));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 368, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_104));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFunctionalDataProperty();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.FUNCTIONAL_DATA_PROPERTY__DATA_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_70_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_120, 369));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createFunctionalDataProperty();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_70_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 370, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 370));
	}
	
;

parse_west_twouse_language_owl2fs_DatatypeDefinition returns [west.twouse.language.owl2fs.DatatypeDefinition element = null]
@init{
}
:
	a0 = 'DatatypeDefinition' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDefinition();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_71_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_241, 371));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDefinition();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_71_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 372, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 372, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_105));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 372, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_105));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 372, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_105));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDefinition();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DATATYPE_DEFINITION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_71_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 373, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 373, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_105));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 373, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_105));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 373, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_105));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_Datatype		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDefinition();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATATYPE_DEFINITION__DATATYPE), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_71_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 374, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 374, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 374, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 374, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 374, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 374, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_10));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_DataRange		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDefinition();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATATYPE_DEFINITION__DATA_RANGE), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_71_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_177, 375));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDatatypeDefinition();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_71_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 376, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 376));
	}
	
;

parse_west_twouse_language_owl2fs_HasKey returns [west.twouse.language.owl2fs.HasKey element = null]
@init{
}
:
	a0 = 'HasKey' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_242, 377));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 378, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_106));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.HAS_KEY__CLASS_EXPRESSION), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_82, 379));
	}
	
	a3 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 380, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 380, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 380, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 380, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 380, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_156, 380));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.HAS_KEY__AXIOM_ANNOTATIONS, a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 381, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 381, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 381, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 381, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 381, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_156, 381));
	}
	
	(
		(
			a5_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
				}
				if (a5_0 != null) {
					if (a5_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.HAS_KEY__OBJECT_PROPERTY_EXPRESSIONS, a5_0);
						completedElement(a5_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_5, a5_0);
					copyLocalizationInfos(a5_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 382, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 382, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 382, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 382, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_107));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_156, 382));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_243, 383));
	}
	
	a7 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_7, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a7, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 384, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_108));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 384, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_108));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 384, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_108));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_157, 384));
	}
	
	(
		(
			a8_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
				}
				if (a8_0 != null) {
					if (a8_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.HAS_KEY__DATA_PROPERTY_EXPRESSIONS, a8_0);
						completedElement(a8_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_8, a8_0);
					copyLocalizationInfos(a8_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 385, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_108));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 385, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_108));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 385, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_108));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_157, 385));
	}
	
	a9 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_9, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a9, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_244, 386));
	}
	
	a10 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createHasKey();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_72_0_0_10, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a10, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 387, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 387));
	}
	
;

parse_west_twouse_language_owl2fs_SameIndividual returns [west.twouse.language.owl2fs.SameIndividual element = null]
@init{
}
:
	a0 = 'SameIndividual' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividual();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_73_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_245, 388));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividual();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_73_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 389, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 389, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 389, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 389, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividual();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.SAME_INDIVIDUAL__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_73_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 390, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 390, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 390, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 390, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_NamedIndividual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividual();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.SAME_INDIVIDUAL__SAME_INDIVIDUALS, a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_73_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 391, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 391, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 391, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_NamedIndividual			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividual();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.SAME_INDIVIDUAL__SAME_INDIVIDUALS, a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_73_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 392, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 392, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 392, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_109));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_246, 392));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividual();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_73_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 393, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 393));
	}
	
;

parse_west_twouse_language_owl2fs_DifferentIndividuals returns [west.twouse.language.owl2fs.DifferentIndividuals element = null]
@init{
}
:
	a0 = 'DifferentIndividuals' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividuals();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_74_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_247, 394));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividuals();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_74_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 395, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 395, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 395, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 395, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividuals();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DIFFERENT_INDIVIDUALS__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_74_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 396, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 396, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 396, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 396, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_NamedIndividual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividuals();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DIFFERENT_INDIVIDUALS__DIFFERENT_INDIVIDUALS, a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_74_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 397, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 397, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 397, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
	}
	
	(
		(
			a4_0 = parse_west_twouse_language_owl2fs_NamedIndividual			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividuals();
				}
				if (a4_0 != null) {
					if (a4_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DIFFERENT_INDIVIDUALS__DIFFERENT_INDIVIDUALS, a4_0);
						completedElement(a4_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_74_0_0_4, a4_0);
					copyLocalizationInfos(a4_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 398, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 398, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 398, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_110));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_248, 398));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividuals();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_74_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 399, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 399));
	}
	
;

parse_west_twouse_language_owl2fs_ClassAssertion returns [west.twouse.language.owl2fs.ClassAssertion element = null]
@init{
}
:
	a0 = 'ClassAssertion' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_75_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_249, 400));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_75_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 401, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAssertion();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.CLASS_ASSERTION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_75_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 402, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_111));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAssertion();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.CLASS_ASSERTION__CLASS_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_75_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 403, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_112));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 403, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_112));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 403, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_112));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_NamedIndividual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAssertion();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.CLASS_ASSERTION__INDIVIDUAL), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_75_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_159, 404));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_75_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 405, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 405));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectPropertyAssertion returns [west.twouse.language.owl2fs.ObjectPropertyAssertion element = null]
@init{
}
:
	a0 = 'ObjectPropertyAssertion' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_76_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_250, 406));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_76_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 407, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 407, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_113));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 407, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_113));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 407, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_113));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 407, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_113));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAssertion();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_ASSERTION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_76_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 408, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 408, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_113));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 408, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_113));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 408, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_113));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 408, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_113));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAssertion();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_ASSERTION__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_76_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 409, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_114));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 409, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_114));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 409, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_114));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 409, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_114));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_Individual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAssertion();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_ASSERTION__SOURCE_INDIVIDUAL), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_76_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 410, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_115));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 410, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_115));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 410, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_115));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 410, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_115));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_Individual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAssertion();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_ASSERTION__TARGET_INDIVIDUAL), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_76_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_251, 411));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_76_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 412, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 412));
	}
	
;

parse_west_twouse_language_owl2fs_NegativeObjectPropertyAssertion returns [west.twouse.language.owl2fs.NegativeObjectPropertyAssertion element = null]
@init{
}
:
	a0 = 'NegativeObjectPropertyAssertion' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeObjectPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_77_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_252, 413));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeObjectPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_77_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 414, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 414, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_116));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 414, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_116));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 414, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_116));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 414, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_116));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeObjectPropertyAssertion();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.NEGATIVE_OBJECT_PROPERTY_ASSERTION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_77_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 415, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 415, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_116));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 415, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_116));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 415, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_116));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 415, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_116));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeObjectPropertyAssertion();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.NEGATIVE_OBJECT_PROPERTY_ASSERTION__OBJECT_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_77_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 416, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_117));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 416, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_117));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 416, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_117));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 416, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_117));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_Individual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeObjectPropertyAssertion();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.NEGATIVE_OBJECT_PROPERTY_ASSERTION__SOURCE_INDIVIDUAL), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_77_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 417, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_118));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 417, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_118));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 417, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_118));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 417, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_118));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_Individual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeObjectPropertyAssertion();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.NEGATIVE_OBJECT_PROPERTY_ASSERTION__TARGET_INDIVIDUAL), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_77_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_253, 418));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeObjectPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_77_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 419, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 419));
	}
	
;

parse_west_twouse_language_owl2fs_DataPropertyAssertion returns [west.twouse.language.owl2fs.DataPropertyAssertion element = null]
@init{
}
:
	a0 = 'DataPropertyAssertion' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_78_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_254, 420));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_78_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 421, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 421, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_119));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 421, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_119));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 421, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_119));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyAssertion();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_ASSERTION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_78_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 422, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 422, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_119));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 422, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_119));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 422, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_119));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyAssertion();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_ASSERTION__DATA_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_78_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 423, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_27));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 423, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_27));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 423, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_27));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 423, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_27));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_Individual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyAssertion();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_ASSERTION__SOURCE_INDIVIDUAL), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_78_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 424, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_32));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_Literal		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyAssertion();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPERTY_ASSERTION__TARGET_VALUE), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_78_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_93, 425));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_78_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 426, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 426));
	}
	
;

parse_west_twouse_language_owl2fs_NegativeDataPropertyAssertion returns [west.twouse.language.owl2fs.NegativeDataPropertyAssertion element = null]
@init{
}
:
	a0 = 'NegativeDataPropertyAssertion' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeDataPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_79_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_255, 427));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeDataPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_79_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 428, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 428, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_120));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 428, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_120));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 428, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_120));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeDataPropertyAssertion();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.NEGATIVE_DATA_PROPERTY_ASSERTION__AXIOM_ANNOTATIONS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_79_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 429, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_15));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 429, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_120));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 429, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_120));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 429, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_120));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DataPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeDataPropertyAssertion();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.NEGATIVE_DATA_PROPERTY_ASSERTION__DATA_PROPERTY_EXPRESSION), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_79_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 430, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 430, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 430, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_121));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 430, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_121));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_Individual		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeDataPropertyAssertion();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.NEGATIVE_DATA_PROPERTY_ASSERTION__SOURCE_INDIVIDUAL), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_79_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 431, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_122));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_Literal		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeDataPropertyAssertion();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.NEGATIVE_DATA_PROPERTY_ASSERTION__TARGET_VALUE), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_79_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_94, 432));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNegativeDataPropertyAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_79_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 433, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 433));
	}
	
;

parse_west_twouse_language_owl2fs_DLSafeRule returns [west.twouse.language.owl2fs.DLSafeRule element = null]
@init{
}
:
	a0 = 'DLSafeRule' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_256, 434));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 435, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_170, 435));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DL_SAFE_RULE__ANNOTATION, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 436, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_123));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_170, 436));
	}
	
	a3 = 'Body' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_257, 437));
	}
	
	a4 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 438, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 438, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 438, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 438, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 438, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 438, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 438, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_265, 438));
	}
	
	(
		(
			a5_0 = parse_west_twouse_language_owl2fs_Atom			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
				}
				if (a5_0 != null) {
					if (a5_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DL_SAFE_RULE__BODY_ATOM, a5_0);
						completedElement(a5_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_6, a5_0);
					copyLocalizationInfos(a5_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 439, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 439, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 439, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 439, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 439, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 439, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 439, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_265, 439));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_8, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_266, 440));
	}
	
	a7 = 'Head' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_10, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a7, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_267, 441));
	}
	
	a8 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_11, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a8, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 442, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 442, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 442, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 442, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 442, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 442, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 442, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_268, 442));
	}
	
	(
		(
			a9_0 = parse_west_twouse_language_owl2fs_Atom			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
				}
				if (a9_0 != null) {
					if (a9_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DL_SAFE_RULE__HEAD_ATOM, a9_0);
						completedElement(a9_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_13, a9_0);
					copyLocalizationInfos(a9_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 443, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 443, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 443, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 443, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 443, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 443, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 443, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_125));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_268, 443));
	}
	
	a10 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_15, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a10, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_269, 444));
	}
	
	a11 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDLSafeRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_80_0_0_16, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a11, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 445, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 445));
	}
	
;

parse_west_twouse_language_owl2fs_ClassAtom returns [west.twouse.language.owl2fs.ClassAtom element = null]
@init{
}
:
	a0 = 'ClassAtom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_81_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_270, 446));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_81_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_56, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_57, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_58, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_59, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_60, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_61, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_62, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_63, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_64, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_65, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_66, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_67, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_68, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_69, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_70, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_71, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_72, 447, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_126));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ClassExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAtom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.CLASS_ATOM__CLASS_EXPRESSION), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_81_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 448, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 448, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 448, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 448, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 448, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_8));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_IArg		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAtom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.CLASS_ATOM__IARG), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_81_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_160, 449));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createClassAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_81_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 450, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 450, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 450, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 450, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 450, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 450, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 450, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_265, 450));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_271, 450));
	}
	
;

parse_west_twouse_language_owl2fs_DataRangeAtom returns [west.twouse.language.owl2fs.DataRangeAtom element = null]
@init{
}
:
	a0 = 'DataRangeAtom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataRangeAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_82_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_272, 451));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataRangeAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_82_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 452, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 452, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 452, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_105, 452, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_106, 452, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_127));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_107, 452, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_127));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_DataRange		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataRangeAtom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_RANGE_ATOM__DATA_RANGE), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_82_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 453, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_50));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 453, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_50));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DArg		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataRangeAtom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_RANGE_ATOM__DARG), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_82_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_95, 454));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataRangeAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_82_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 455, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 455, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 455, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 455, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 455, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 455, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 455, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_265, 455));
	}
	
;

parse_west_twouse_language_owl2fs_ObjectPropertyAtom returns [west.twouse.language.owl2fs.ObjectPropertyAtom element = null]
@init{
}
:
	a0 = 'ObjectPropertyAtom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_83_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_273, 456));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_83_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 457, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_128));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 457, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_128));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 457, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_128));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_111, 457, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_128));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ObjectPropertyExpression		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAtom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_ATOM__OBJECT_PROPERTY_EXPRESSION), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_83_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 458, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_23));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 458, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_23));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 458, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_23));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 458, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_23));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 458, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_23));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_IArg		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAtom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_ATOM__IARG1), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_83_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 459, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 459, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 459, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 459, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 459, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_IArg		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAtom();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.OBJECT_PROPERTY_ATOM__IARG2), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_83_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_274, 460));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createObjectPropertyAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_83_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 461, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 461, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 461, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 461, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 461, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 461, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 461, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_265, 461));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_271, 461));
	}
	
;

parse_west_twouse_language_owl2fs_DataPropetyAtom returns [west.twouse.language.owl2fs.DataPropetyAtom element = null]
@init{
}
:
	a0 = 'DataPropetyAtom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropetyAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_84_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_275, 462));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropetyAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_84_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 463, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_129));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 463, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_129));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 463, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_129));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_DataProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropetyAtom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPETY_ATOM__DATA_PROPERTY), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_84_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 464, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_28));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 464, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_28));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 464, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_28));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 464, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_28));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 464, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_28));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_IArg		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropetyAtom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPETY_ATOM__IARG), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_84_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 465, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_130));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 465, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_130));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_DArg		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropetyAtom();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DATA_PROPETY_ATOM__DARG), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_84_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_96, 466));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDataPropetyAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_84_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 467, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 467, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 467, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 467, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 467, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 467, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 467, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_265, 467));
	}
	
;

parse_west_twouse_language_owl2fs_BuiltInAtom returns [west.twouse.language.owl2fs.BuiltInAtom element = null]
@init{
}
:
	a0 = 'BuiltInAtom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createBuiltInAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_85_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_276, 468));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createBuiltInAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_85_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 469, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 469, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_131));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 469, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_131));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createBuiltInAtom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.BUILT_IN_ATOM__IRI), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_85_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 470, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_20));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 470, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_20));
	}
	
	(
		(
			a3_0 = parse_west_twouse_language_owl2fs_DArg			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createBuiltInAtom();
				}
				if (a3_0 != null) {
					if (a3_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.BUILT_IN_ATOM__DARG, a3_0);
						completedElement(a3_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_85_0_0_3, a3_0);
					copyLocalizationInfos(a3_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 471, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_20));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 471, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_20));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_97, 471));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createBuiltInAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_85_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 472, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 472, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 472, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 472, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 472, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 472, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 472, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_265, 472));
	}
	
;

parse_west_twouse_language_owl2fs_SameIndividualAtom returns [west.twouse.language.owl2fs.SameIndividualAtom element = null]
@init{
}
:
	a0 = 'SameIndividualAtom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividualAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_86_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_277, 473));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividualAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_86_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 474, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_132));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 474, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_132));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 474, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_132));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 474, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_132));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 474, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_132));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_IArg		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividualAtom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SAME_INDIVIDUAL_ATOM__IARG1), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_86_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 475, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_133));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 475, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_133));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 475, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_133));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 475, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_133));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 475, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_133));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_IArg		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividualAtom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.SAME_INDIVIDUAL_ATOM__IARG2), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_86_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_278, 476));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createSameIndividualAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_86_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 477, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 477, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 477, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 477, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 477, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 477, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 477, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_265, 477));
	}
	
;

parse_west_twouse_language_owl2fs_DifferentIndividualsAtom returns [west.twouse.language.owl2fs.DifferentIndividualsAtom element = null]
@init{
}
:
	a0 = 'DifferentIndividualsAtom' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividualsAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_87_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_279, 478));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividualsAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_87_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 479, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_134));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 479, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_134));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 479, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_134));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 479, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_134));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 479, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_134));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_IArg		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividualsAtom();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DIFFERENT_INDIVIDUALS_ATOM__IARG1), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_87_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 480, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 480, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 480, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 480, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_135));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 480, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_135));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_IArg		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividualsAtom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DIFFERENT_INDIVIDUALS_ATOM__IARG2), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_87_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_280, 481));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDifferentIndividualsAtom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_87_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 482, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_259, 482, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 482, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_261, 482, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_262, 482, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_263, 482, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_264, 482, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_124));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_265, 482));
	}
	
;

parse_west_twouse_language_owl2fs_Variable returns [west.twouse.language.owl2fs.Variable element = null]
@init{
}
:
	a0 = 'Variable' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createVariable();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_88_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_281, 483));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createVariable();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_88_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 484, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_136));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 484, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_136));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 484, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_136));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createVariable();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.VARIABLE__IRI), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_88_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_124, 485));
	}
	
	a3 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createVariable();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_88_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_160, 486));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_95, 486));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 486, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 486, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 486, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_83, 486, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_84, 486, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_33));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_89, 486, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_130));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_97, 486));
	}
	
;

parse_west_twouse_language_owl2fs_DGRule returns [west.twouse.language.owl2fs.DGRule element = null]
@init{
}
:
	a0 = 'DescriptionGraphRule' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_282, 487));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 488, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_137));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_171, 488));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DG_RULE__ANNOTATION, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 489, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_137));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_171, 489));
	}
	
	a3 = 'Body' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_283, 490));
	}
	
	a4 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 491, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_138));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 491, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_138));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_271, 491));
	}
	
	(
		(
			a5_0 = parse_west_twouse_language_owl2fs_DGAtom			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
				}
				if (a5_0 != null) {
					if (a5_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DG_RULE__BODY_ATOM, a5_0);
						completedElement(a5_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_6, a5_0);
					copyLocalizationInfos(a5_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 492, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_138));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 492, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_138));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_271, 492));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_8, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_284, 493));
	}
	
	a7 = 'Head' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_10, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a7, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_285, 494));
	}
	
	a8 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_11, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a8, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 495, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 495, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_286, 495));
	}
	
	(
		(
			a9_0 = parse_west_twouse_language_owl2fs_DGAtom			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
				}
				if (a9_0 != null) {
					if (a9_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DG_RULE__HEAD_ATOM, a9_0);
						completedElement(a9_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_13, a9_0);
					copyLocalizationInfos(a9_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_258, 496, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_260, 496, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_139));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_286, 496));
	}
	
	a10 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_15, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a10, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_287, 497));
	}
	
	a11 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGRule();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_89_0_0_16, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a11, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 498, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 498));
	}
	
;

parse_west_twouse_language_owl2fs_DGAxiom returns [west.twouse.language.owl2fs.DGAxiom element = null]
@init{
}
:
	a0 = 'DescriptionGraph' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGAxiom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_90_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_288, 499));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGAxiom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_90_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 500, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_140));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_172, 500, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_46));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Annotation			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGAxiom();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DG_AXIOM__ANNOTATION, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_90_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)*	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_8, 501, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_140));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_172, 501, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_46));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_DGNodes		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGAxiom();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DG_AXIOM__DG_NODES), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_90_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_289, 502, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_141));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_DGEdges		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGAxiom();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DG_AXIOM__DG_EDGES), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_90_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_290, 503, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_142));
	}
	
	(
		a5_0 = parse_west_twouse_language_owl2fs_MainClasses		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGAxiom();
			}
			if (a5_0 != null) {
				if (a5_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.DG_AXIOM__MAIN_CLASSES), a5_0);
					completedElement(a5_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_90_0_0_5, a5_0);
				copyLocalizationInfos(a5_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_291, 504));
	}
	
	a6 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGAxiom();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_90_0_0_6, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a6, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_1, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_9, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_10, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_11, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_12, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_13, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_14, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_15, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_16, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_17, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_18, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_19, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_20, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_21, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_22, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_23, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_24, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_25, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_26, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_27, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_28, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_29, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_30, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_31, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_32, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_33, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_34, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_35, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_36, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_37, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_38, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_39, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_40, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_41, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_42, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_43, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_44, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_45, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_46, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_47, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_48, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_49, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_50, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_51, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_52, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_53, 505, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_6));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_54, 505));
	}
	
;

parse_west_twouse_language_owl2fs_DGNodes returns [west.twouse.language.owl2fs.DGNodes element = null]
@init{
}
:
	a0 = 'Nodes' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGNodes();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_91_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_292, 506));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGNodes();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_91_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_293, 507, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_143));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_NodeAssertion			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGNodes();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DG_NODES__NODE_ASSERTION, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_91_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_293, 508, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_143));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_294, 508));
	}
	
	a3 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGNodes();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_91_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_289, 509, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_141));
	}
	
;

parse_west_twouse_language_owl2fs_NodeAssertion returns [west.twouse.language.owl2fs.NodeAssertion element = null]
@init{
}
:
	a0 = 'NodeAssertion' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNodeAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_92_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_295, 510));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNodeAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_92_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 511, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_144));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 511, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_144));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 511, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_144));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_Class		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNodeAssertion();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.NODE_ASSERTION__CLASS), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_92_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 512, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_145));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 512, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_145));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 512, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_145));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNodeAssertion();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.NODE_ASSERTION__DG_NODE), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_92_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_296, 513));
	}
	
	a4 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createNodeAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_92_0_0_4, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a4, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_293, 514, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_143));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_294, 514));
	}
	
;

parse_west_twouse_language_owl2fs_DGEdges returns [west.twouse.language.owl2fs.DGEdges element = null]
@init{
}
:
	a0 = 'Edges' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGEdges();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_93_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_297, 515));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGEdges();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_93_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_298, 516, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_146));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_EdgeAssertion			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGEdges();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.DG_EDGES__EDGE_ASSERTION, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_93_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_298, 517, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_146));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_299, 517));
	}
	
	a3 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createDGEdges();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_93_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_290, 518, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_142));
	}
	
;

parse_west_twouse_language_owl2fs_EdgeAssertion returns [west.twouse.language.owl2fs.EdgeAssertion element = null]
@init{
}
:
	a0 = 'EdgeAssertion' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEdgeAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_94_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_300, 519));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEdgeAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_94_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 520, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_147));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 520, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_147));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 520, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_147));
	}
	
	(
		a2_0 = parse_west_twouse_language_owl2fs_ObjectProperty		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEdgeAssertion();
			}
			if (a2_0 != null) {
				if (a2_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.EDGE_ASSERTION__OBJECT_PROPERTY), a2_0);
					completedElement(a2_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_94_0_0_2, a2_0);
				copyLocalizationInfos(a2_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 521, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_148));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 521, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_148));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 521, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_148));
	}
	
	(
		a3_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEdgeAssertion();
			}
			if (a3_0 != null) {
				if (a3_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.EDGE_ASSERTION__DG_NODE1), a3_0);
					completedElement(a3_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_94_0_0_3, a3_0);
				copyLocalizationInfos(a3_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 522, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_149));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 522, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_149));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 522, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_149));
	}
	
	(
		a4_0 = parse_west_twouse_language_owl2fs_IRI		{
			if (terminateParsing) {
				throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
			}
			if (element == null) {
				element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEdgeAssertion();
			}
			if (a4_0 != null) {
				if (a4_0 != null) {
					element.eSet(element.eClass().getEStructuralFeature(west.twouse.language.owl2fs.Owl2fsPackage.EDGE_ASSERTION__DG_NODE2), a4_0);
					completedElement(a4_0, true);
				}
				collectHiddenTokens(element);
				retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_94_0_0_4, a4_0);
				copyLocalizationInfos(a4_0, element);
			}
		}
	)
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_301, 523));
	}
	
	a5 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createEdgeAssertion();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_94_0_0_5, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a5, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_298, 524, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_146));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_299, 524));
	}
	
;

parse_west_twouse_language_owl2fs_MainClasses returns [west.twouse.language.owl2fs.MainClasses element = null]
@init{
}
:
	a0 = 'MainClasses' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createMainClasses();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_95_0_0_0, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a0, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_302, 525));
	}
	
	a1 = '(' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createMainClasses();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_95_0_0_1, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a1, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 526, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_150));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 526, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_150));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 526, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_150));
	}
	
	(
		(
			a2_0 = parse_west_twouse_language_owl2fs_Class			{
				if (terminateParsing) {
					throw new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsTerminateParsingException();
				}
				if (element == null) {
					element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createMainClasses();
				}
				if (a2_0 != null) {
					if (a2_0 != null) {
						addObjectToList(element, west.twouse.language.owl2fs.Owl2fsPackage.MAIN_CLASSES__CLASS, a2_0);
						completedElement(a2_0, true);
					}
					collectHiddenTokens(element);
					retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_95_0_0_2, a2_0);
					copyLocalizationInfos(a2_0, element);
				}
			}
		)
		
	)+	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_3, 527, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_150));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_5, 527, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_150));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_6, 527, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_16, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.FEATURE_150));
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_85, 527));
	}
	
	a3 = ')' {
		if (element == null) {
			element = west.twouse.language.owl2fs.Owl2fsFactory.eINSTANCE.createMainClasses();
			incompleteObjects.push(element);
		}
		collectHiddenTokens(element);
		retrieveLayoutInformation(element, west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsGrammarInformationProvider.OWL2FS_95_0_0_3, null);
		copyLocalizationInfos((org.antlr.runtime3_2_0.CommonToken)a3, element);
	}
	{
		// expected elements (follow set)
		addExpectedElement(new west.twouse.language.owl2fs.resource.owl2fs.mopp.Owl2fsExpectedTerminal(west.twouse.language.owl2fs.resource.owl2fs.grammar.Owl2fsFollowSetProvider.TERMINAL_291, 528));
	}
	
;

parse_west_twouse_language_owl2fs_IRI returns [west.twouse.language.owl2fs.IRI element = null]
:
	c0 = parse_west_twouse_language_owl2fs_FullIRI{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_AbbreviatedIRI{ element = c1; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_Axiom returns [west.twouse.language.owl2fs.Axiom element = null]
:
	c0 = parse_west_twouse_language_owl2fs_Comment{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_ClassDeclaration{ element = c1; /* this is a subclass or primitive expression choice */ }
	|	c2 = parse_west_twouse_language_owl2fs_DatatypeDeclaration{ element = c2; /* this is a subclass or primitive expression choice */ }
	|	c3 = parse_west_twouse_language_owl2fs_ObjectPropertyDeclaration{ element = c3; /* this is a subclass or primitive expression choice */ }
	|	c4 = parse_west_twouse_language_owl2fs_DataPropertyDeclaration{ element = c4; /* this is a subclass or primitive expression choice */ }
	|	c5 = parse_west_twouse_language_owl2fs_AnnotationPropertyDeclaration{ element = c5; /* this is a subclass or primitive expression choice */ }
	|	c6 = parse_west_twouse_language_owl2fs_NamedIndividualDeclaration{ element = c6; /* this is a subclass or primitive expression choice */ }
	|	c7 = parse_west_twouse_language_owl2fs_AnnotationAssertion{ element = c7; /* this is a subclass or primitive expression choice */ }
	|	c8 = parse_west_twouse_language_owl2fs_SubAnnotationPropertyOf{ element = c8; /* this is a subclass or primitive expression choice */ }
	|	c9 = parse_west_twouse_language_owl2fs_AnnotationPropertyDomain{ element = c9; /* this is a subclass or primitive expression choice */ }
	|	c10 = parse_west_twouse_language_owl2fs_AnnotationPropertyRange{ element = c10; /* this is a subclass or primitive expression choice */ }
	|	c11 = parse_west_twouse_language_owl2fs_SubClassOf{ element = c11; /* this is a subclass or primitive expression choice */ }
	|	c12 = parse_west_twouse_language_owl2fs_EquivalentClasses{ element = c12; /* this is a subclass or primitive expression choice */ }
	|	c13 = parse_west_twouse_language_owl2fs_DisjointClasses{ element = c13; /* this is a subclass or primitive expression choice */ }
	|	c14 = parse_west_twouse_language_owl2fs_DisjointUnion{ element = c14; /* this is a subclass or primitive expression choice */ }
	|	c15 = parse_west_twouse_language_owl2fs_SubObjectPropertyOf{ element = c15; /* this is a subclass or primitive expression choice */ }
	|	c16 = parse_west_twouse_language_owl2fs_EquivalentObjectProperties{ element = c16; /* this is a subclass or primitive expression choice */ }
	|	c17 = parse_west_twouse_language_owl2fs_DisjointObjectProperties{ element = c17; /* this is a subclass or primitive expression choice */ }
	|	c18 = parse_west_twouse_language_owl2fs_ObjectPropertyDomain{ element = c18; /* this is a subclass or primitive expression choice */ }
	|	c19 = parse_west_twouse_language_owl2fs_ObjectPropertyRange{ element = c19; /* this is a subclass or primitive expression choice */ }
	|	c20 = parse_west_twouse_language_owl2fs_InverseObjectProperties{ element = c20; /* this is a subclass or primitive expression choice */ }
	|	c21 = parse_west_twouse_language_owl2fs_FunctionalObjectProperty{ element = c21; /* this is a subclass or primitive expression choice */ }
	|	c22 = parse_west_twouse_language_owl2fs_InverseFunctionalObjectProperty{ element = c22; /* this is a subclass or primitive expression choice */ }
	|	c23 = parse_west_twouse_language_owl2fs_ReflexiveObjectProperty{ element = c23; /* this is a subclass or primitive expression choice */ }
	|	c24 = parse_west_twouse_language_owl2fs_IrreflexiveObjectProperty{ element = c24; /* this is a subclass or primitive expression choice */ }
	|	c25 = parse_west_twouse_language_owl2fs_SymmetricObjectProperty{ element = c25; /* this is a subclass or primitive expression choice */ }
	|	c26 = parse_west_twouse_language_owl2fs_AsymmetricObjectProperty{ element = c26; /* this is a subclass or primitive expression choice */ }
	|	c27 = parse_west_twouse_language_owl2fs_TransitiveObjectProperty{ element = c27; /* this is a subclass or primitive expression choice */ }
	|	c28 = parse_west_twouse_language_owl2fs_SubDataPropertyOf{ element = c28; /* this is a subclass or primitive expression choice */ }
	|	c29 = parse_west_twouse_language_owl2fs_EquivalentDataProperties{ element = c29; /* this is a subclass or primitive expression choice */ }
	|	c30 = parse_west_twouse_language_owl2fs_DisjointDataProperties{ element = c30; /* this is a subclass or primitive expression choice */ }
	|	c31 = parse_west_twouse_language_owl2fs_DataPropertyDomain{ element = c31; /* this is a subclass or primitive expression choice */ }
	|	c32 = parse_west_twouse_language_owl2fs_DataPropertyRange{ element = c32; /* this is a subclass or primitive expression choice */ }
	|	c33 = parse_west_twouse_language_owl2fs_FunctionalDataProperty{ element = c33; /* this is a subclass or primitive expression choice */ }
	|	c34 = parse_west_twouse_language_owl2fs_DatatypeDefinition{ element = c34; /* this is a subclass or primitive expression choice */ }
	|	c35 = parse_west_twouse_language_owl2fs_HasKey{ element = c35; /* this is a subclass or primitive expression choice */ }
	|	c36 = parse_west_twouse_language_owl2fs_SameIndividual{ element = c36; /* this is a subclass or primitive expression choice */ }
	|	c37 = parse_west_twouse_language_owl2fs_DifferentIndividuals{ element = c37; /* this is a subclass or primitive expression choice */ }
	|	c38 = parse_west_twouse_language_owl2fs_ClassAssertion{ element = c38; /* this is a subclass or primitive expression choice */ }
	|	c39 = parse_west_twouse_language_owl2fs_ObjectPropertyAssertion{ element = c39; /* this is a subclass or primitive expression choice */ }
	|	c40 = parse_west_twouse_language_owl2fs_NegativeObjectPropertyAssertion{ element = c40; /* this is a subclass or primitive expression choice */ }
	|	c41 = parse_west_twouse_language_owl2fs_DataPropertyAssertion{ element = c41; /* this is a subclass or primitive expression choice */ }
	|	c42 = parse_west_twouse_language_owl2fs_NegativeDataPropertyAssertion{ element = c42; /* this is a subclass or primitive expression choice */ }
	|	c43 = parse_west_twouse_language_owl2fs_DLSafeRule{ element = c43; /* this is a subclass or primitive expression choice */ }
	|	c44 = parse_west_twouse_language_owl2fs_DGRule{ element = c44; /* this is a subclass or primitive expression choice */ }
	|	c45 = parse_west_twouse_language_owl2fs_DGAxiom{ element = c45; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_AnnotationSubject returns [west.twouse.language.owl2fs.AnnotationSubject element = null]
:
	c0 = parse_west_twouse_language_owl2fs_FullIRI{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_AbbreviatedIRI{ element = c1; /* this is a subclass or primitive expression choice */ }
	|	c2 = parse_west_twouse_language_owl2fs_AnonymousIndividual{ element = c2; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_AnnotationValue returns [west.twouse.language.owl2fs.AnnotationValue element = null]
:
	c0 = parse_west_twouse_language_owl2fs_FullIRI{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_AbbreviatedIRI{ element = c1; /* this is a subclass or primitive expression choice */ }
	|	c2 = parse_west_twouse_language_owl2fs_AnonymousIndividual{ element = c2; /* this is a subclass or primitive expression choice */ }
	|	c3 = parse_west_twouse_language_owl2fs_Literal{ element = c3; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_DataRange returns [west.twouse.language.owl2fs.DataRange element = null]
:
	c0 = parse_west_twouse_language_owl2fs_Datatype{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_DataComplementOf{ element = c1; /* this is a subclass or primitive expression choice */ }
	|	c2 = parse_west_twouse_language_owl2fs_DataOneOf{ element = c2; /* this is a subclass or primitive expression choice */ }
	|	c3 = parse_west_twouse_language_owl2fs_DatatypeRestriction{ element = c3; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_ClassExpression returns [west.twouse.language.owl2fs.ClassExpression element = null]
:
	c0 = parse_west_twouse_language_owl2fs_Class{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_ObjectIntersectionOf{ element = c1; /* this is a subclass or primitive expression choice */ }
	|	c2 = parse_west_twouse_language_owl2fs_ObjectUnionOf{ element = c2; /* this is a subclass or primitive expression choice */ }
	|	c3 = parse_west_twouse_language_owl2fs_ObjectComplementOf{ element = c3; /* this is a subclass or primitive expression choice */ }
	|	c4 = parse_west_twouse_language_owl2fs_ObjectOneOf{ element = c4; /* this is a subclass or primitive expression choice */ }
	|	c5 = parse_west_twouse_language_owl2fs_ObjectSomeValuesFrom{ element = c5; /* this is a subclass or primitive expression choice */ }
	|	c6 = parse_west_twouse_language_owl2fs_ObjectAllValuesFrom{ element = c6; /* this is a subclass or primitive expression choice */ }
	|	c7 = parse_west_twouse_language_owl2fs_ObjectHasValue{ element = c7; /* this is a subclass or primitive expression choice */ }
	|	c8 = parse_west_twouse_language_owl2fs_ObjectHasSelf{ element = c8; /* this is a subclass or primitive expression choice */ }
	|	c9 = parse_west_twouse_language_owl2fs_ObjectMinCardinality{ element = c9; /* this is a subclass or primitive expression choice */ }
	|	c10 = parse_west_twouse_language_owl2fs_ObjectMaxCardinality{ element = c10; /* this is a subclass or primitive expression choice */ }
	|	c11 = parse_west_twouse_language_owl2fs_ObjectExactCardinality{ element = c11; /* this is a subclass or primitive expression choice */ }
	|	c12 = parse_west_twouse_language_owl2fs_DataSomeValuesFrom{ element = c12; /* this is a subclass or primitive expression choice */ }
	|	c13 = parse_west_twouse_language_owl2fs_DataAllValuesFrom{ element = c13; /* this is a subclass or primitive expression choice */ }
	|	c14 = parse_west_twouse_language_owl2fs_DataHasValue{ element = c14; /* this is a subclass or primitive expression choice */ }
	|	c15 = parse_west_twouse_language_owl2fs_DataMinCardinality{ element = c15; /* this is a subclass or primitive expression choice */ }
	|	c16 = parse_west_twouse_language_owl2fs_DataMaxCardinality{ element = c16; /* this is a subclass or primitive expression choice */ }
	|	c17 = parse_west_twouse_language_owl2fs_DataExactCardinality{ element = c17; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_Individual returns [west.twouse.language.owl2fs.Individual element = null]
:
	c0 = parse_west_twouse_language_owl2fs_NamedIndividual{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_AnonymousIndividual{ element = c1; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_ObjectPropertyExpression returns [west.twouse.language.owl2fs.ObjectPropertyExpression element = null]
:
	c0 = parse_west_twouse_language_owl2fs_ObjectProperty{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_InverseObjectProperty{ element = c1; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_DataPropertyExpression returns [west.twouse.language.owl2fs.DataPropertyExpression element = null]
:
	c0 = parse_west_twouse_language_owl2fs_DataProperty{ element = c0; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_SubObjectPropertyExpression returns [west.twouse.language.owl2fs.SubObjectPropertyExpression element = null]
:
	c0 = parse_west_twouse_language_owl2fs_ObjectProperty{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_InverseObjectProperty{ element = c1; /* this is a subclass or primitive expression choice */ }
	|	c2 = parse_west_twouse_language_owl2fs_ObjectPropertyChain{ element = c2; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_Atom returns [west.twouse.language.owl2fs.Atom element = null]
:
	c0 = parse_west_twouse_language_owl2fs_ClassAtom{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_DataRangeAtom{ element = c1; /* this is a subclass or primitive expression choice */ }
	|	c2 = parse_west_twouse_language_owl2fs_ObjectPropertyAtom{ element = c2; /* this is a subclass or primitive expression choice */ }
	|	c3 = parse_west_twouse_language_owl2fs_DataPropetyAtom{ element = c3; /* this is a subclass or primitive expression choice */ }
	|	c4 = parse_west_twouse_language_owl2fs_BuiltInAtom{ element = c4; /* this is a subclass or primitive expression choice */ }
	|	c5 = parse_west_twouse_language_owl2fs_SameIndividualAtom{ element = c5; /* this is a subclass or primitive expression choice */ }
	|	c6 = parse_west_twouse_language_owl2fs_DifferentIndividualsAtom{ element = c6; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_IArg returns [west.twouse.language.owl2fs.IArg element = null]
:
	c0 = parse_west_twouse_language_owl2fs_NamedIndividual{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_AnonymousIndividual{ element = c1; /* this is a subclass or primitive expression choice */ }
	|	c2 = parse_west_twouse_language_owl2fs_Variable{ element = c2; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_DArg returns [west.twouse.language.owl2fs.DArg element = null]
:
	c0 = parse_west_twouse_language_owl2fs_Literal{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_Variable{ element = c1; /* this is a subclass or primitive expression choice */ }
	
;

parse_west_twouse_language_owl2fs_DGAtom returns [west.twouse.language.owl2fs.DGAtom element = null]
:
	c0 = parse_west_twouse_language_owl2fs_ClassAtom{ element = c0; /* this is a subclass or primitive expression choice */ }
	|	c1 = parse_west_twouse_language_owl2fs_ObjectPropertyAtom{ element = c1; /* this is a subclass or primitive expression choice */ }
	
;

WHITESPACE:
	(' '|'\t'|'\f')
	{ _channel = 99; }
;
LINEBREAKS:
	('\r\n'|'\r'|'\n')
	{ _channel = 99; }
;
COMMENT:
	'//'(~('\n'|'\r'|'\uffff'))*
;
INTEGER:
	('-')?('1'..'9')('0'..'9')*|'0';
FLOAT:
	('-')?(('1'..'9') ('0'..'9')* | '0') '.' ('0'..'9')+	{ _channel = 99; }
;
LITERAL:
	 '"' ( ~( '\u0022' | '\u005C' ) | ('\\'('t'|'b'|'n'|'r'|'f'|'\\'|'\"'|'\'')) )* '"' ;
NODE:
	 '_:'('A'..'Z' | 'a'..'z' | '\u00C0'..'\u00D6' | '\u00D8'..'\u00F6' | '\u00F8'..'\u02FF' | '\u0370'..'\u037D' | '\u037F'..'\u1FFF' | '\u200C'..'\u200D' | '\u2070'..'\u218F' | '\u2C00'..'\u2FEF' | '\u3001'..'\uD7FF' | '\uF900'..'\uFDCF' | '\uFDF0'..'\uFFFD' | '_' | '0'..'9' ) (('A'..'Z' | 'a'..'z' | '\u00C0'..'\u00D6'| '\u00D8'..'\u00F6' | '\u00F8'..'\u02FF' | '\u0370'..'\u037D' | '\u037F'..'\u1FFF' | '\u200C'..'\u200D' | '\u2070'..'\u218F' | '\u2C00'..'\u2FEF' | '\u3001'..'\uD7FF' | '\uF900'..'\uFDCF' | '\uFDF0'..'\uFFFD' | '_' | '0'..'9' | '\u00B7' | '\u0300'..'\u036F' | '\u203F'..'\u2040' | '.' )* ('A'..'Z' | 'a'..'z' | '\u00C0'..'\u00D6'| '\u00D8'..'\u00F6' | '\u00F8'..'\u02FF' | '\u0370'..'\u037D' | '\u037F'..'\u1FFF' | '\u200C'..'\u200D' | '\u2070'..'\u218F' | '\u2C00'..'\u2FEF' | '\u3001'..'\uD7FF' | '\uF900'..'\uFDCF' | '\uFDF0'..'\uFFFD' | '_' | '.' | '0'..'9' | '\u00B7' | '\u0300'..'\u036F' | '\u203F'..'\u2040'))? ;
FULLIRI:
	 '<' (~( '^' | '<' | '>' | '"' | '{' | '}' | '`' | '\\' | '\u0000'..'\u0020' ))* '>' ;
ABBRIRI:
	 (('A'..'Z' | 'a'..'z' | '\u00C0'..'\u00D6' | '\u00D8'..'\u00F6' | '\u00F8'..'\u02FF' | '\u0370'..'\u037D' | '\u037F'..'\u1FFF' | '\u200C'..'\u200D' | '\u2070'..'\u218F' | '\u2C00'..'\u2FEF' | '\u3001'..'\uD7FF' | '\uF900'..'\uFDCF' | '\uFDF0'..'\uFFFD' | '_' | '-' | '0'..'9' )
		('A'..'Z' | 'a'..'z' | '\u00C0'..'\u00D6' | '\u00D8'..'\u00F6' | '\u00F8'..'\u02FF' | '\u0370'..'\u037D' | '\u037F'..'\u1FFF' | '\u200C'..'\u200D' | '\u2070'..'\u218F' | '\u2C00'..'\u2FEF' | '\u3001'..'\uD7FF' | '\uF900'..'\uFDCF' | '\uFDF0'..'\uFFFD' | '_' | '-' | '0'..'9' | '\u00B7' | '\u0300'..'\u036F' | '\u203F'..'\u2040' | '.' )*) ;
LANGTAG:
	 '@' ( 'A'..'Z' | 'a'..'z' )+ ;

